Mellet Skrevet 30. juni 2005 Del Skrevet 30. juni 2005 (endret) Når jeg laster opp ett bilde på siden min vil jeg at bildet skal bli 500px bredt. Mens høyden skal regnes ut automatisk ut av dette. Her er mitt script forløpig. Dette endrer ikke bildestørrelsen viss det er for stort. Noen som kan forklare hvordan jeg kan legge inn slik at bilde blir resized her? <?php function fileAccept($test) { $fileAccept = array('image/jpg', 'image/jpeg', 'image/pjpeg'); if(!in_array($_FILES['filen']['type'], $fileAccept)) return false; } $fileAccept = array('image/jpg', 'image/jpeg', 'image/pjpeg'); $filePath = 'admin/bilder/galleri/'; $thumbPercent = 25; $createThumb = true; if(is_uploaded_file($_FILES['filen']['tmp_name']) && $_FILES['filen']['error'] == 0) { if(in_array($_FILES['filen']['type'], $fileAccept)) { if ($_FILES['filen']['type'] == 'image/jpg' || $_FILES['filen']['type'] == 'image/jpeg' || $_FILES['filen']['type'] == 'image/pjpeg') {$fileExt = '.jpg';} $fileName = str_replace($fileExt, '', $_FILES['filen']['name']); $fileName = str_replace(' ', '_', $fileName); $fileThumb = $fileName .'_thumb'; $fileSize = getimagesize($_FILES['filen']['tmp_name']); if(!is_file($filePath . $fileName . $fileExt)) { if(!copy($_FILES['filen']['tmp_name'], $filePath . $fileName . $fileExt)) { print ("Kunne ikke legge bildet i "). $filePath; unlink($_FILES['filen']['tmp_name']); } else { if ($createThumb) { if ($_FILES['filen']['type'] == 'image/jpg' || $_FILES['filen']['type'] == 'image/jpeg' || $_FILES['filen']['type'] == 'image/pjpeg') {$moveImage = imagecreatefromjpeg($filePath . $fileName . $fileExt);} $thumbImage = imagecreatetruecolor(($fileSize[0] / 100) * $thumbPercent, ($fileSize[1] / 100) * $thumbPercent); imagecopyresampled($thumbImage, $moveImage, 0, 0, 0, 0, ($fileSize[0] / 100) * $thumbPercent, ($fileSize[1] / 100) * $thumbPercent, $fileSize[0], $fileSize[1]); if ($_FILES['filen']['type'] == 'image/jpg' || $_FILES['filen']['type'] == 'image/jpeg' || $_FILES['filen']['type'] == 'image/pjpeg') {imagejpeg($thumbImage, $filePath . $fileThumb . $fileExt);} imagedestroy($moveImage); imagedestroy($thumbImage); } print ("<span class=complete>Bildet er ferdig lastet opp.</span>"); include ("upload.php"); } } else {print ("<span class=error>Navnet på bildet finnes allerede.</span>"); include ("upload.php"); exit ();} } else { echo $_FILES['filen']['type'] .'<br>'; echo ("<span class=error>Ugyldig filtype.</span>"); include ("upload.php"); exit (); } } else {echo ("<span class=error>Bilde ble ikke lastet opp.</span>"); include ("upload.php"); exit ();} $album = ("Upload"); $bildenavn = ($_POST['bildenavn']); $kommentar = ($_POST['kommentar']); $bilde = ($fileName . $fileExt); $thumb = ($fileThumb . $fileExt); $navn = ($_POST['navn']); $godkjent = ("nei"); $dato = strftime("%d. %B %Y kl %H:%M"); $upload = @mysql_query ("INSERT INTO `bilder` (`id`, `album`, `av`, `bilde`, `kommentar`, `thumb`, `dato`, `bildenavn`, `godkjent`) VALUES ('', '$album', '$navn', '$bilde', '$kommentar', '$thumb', '$dato', '$bildenavn', '$godkjent')"); if(@mysql_affected_rows($upload) == "0") { echo("<span class=error>Det oppstå en feil når nyheten ble lagt til databasen.</span><br>"); include("upload.php");} } ?> Rotet kode Endret 30. juni 2005 av Mellet Lenke til kommentar
ZiZe Skrevet 30. juni 2005 Del Skrevet 30. juni 2005 $fileSize = getimagesize('filen.jpg'); //her bynner vi og regne ut ny størelse $imageNewWidth = 500; //ny bredden $ImageNewWidthPercent = ceil($imageNewWidth / ($fileSize[0] / 100)); //1% av nye bredden $imageNewHeight = ($fileSize[1] / 100) * $ImageNewWidthPercent; //nye høyden $bilde = imagecreatefromjpeg('filen.jpg'); $resizedBilde = imagecreatetruecolor($imageNewWidth, $imageNewHeight); //kopierer bilder med ny høyde og bredde imagecopyresized($resizedBilde, $bilde, 0, 0, 0, 0, $imageNewWidth, $imageNewHeight, $fileSize[0], $fileSize[1]); imagejpeg($resizedBilde, 'nye_filen.jpg'); //lagrer nye bildet //så sletter vi gamle filen osv. imagedestroy($bilde); imagedestroy($resizedBilde); unlink('filen.jpg'); Der er måten jeg bruker og gjøre det på Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå