23. september 2007 - 16:09Der er
2 kommentarer og 1 løsning
Resize to gange
Hey
Jeg har et php script som jeg bruger til at uploade et billeder, som bliver resized og renamed og stien bliver sendt til en database... Men, kunne godt tænke mig at få scriptet til at lave én kop mere og altså på den måde genere et thumbnail... men har kke kunnet få det bakset sammen.
Efter mange timers søgen er jeg dog kommet frem til at den det bedste er at resize det netop rezisede billede?
Anyways, min kode er her, hvis der er en der kan hjælpe mig på vej til den lille udbyggelse vil jeg blive meget glad!
if ($_FILES['Filedata']['name']) { echo(" "); $uploadDir = "uploads/"; $uploadFile = "uploads/" . $action . basename($_FILES['Filedata']['name']); move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile); //Resize og dupliker $max_width=400; //max bredde $max_height=300; //max højde $size=getimagesize($uploadFile); $width=$size[0]; $height=$size[1]; $x_ratio=$max_width/$width; $y_ratio=$max_height/$height; if(($width<=$max_width) && ($height<=$max_height)){ $tn_width=$width; $tn_height=$height; } else if(($x_ratio*$height)<$max_height){ $tn_height=ceil($x_ratio*$height); $tn_width=$max_width; } else{ $tn_width=ceil($y_ratio*$width); $tn_height=$max_height; } $src=imagecreatefromjpeg($uploadFile); $dst=imagecreatetruecolor($tn_width,$tn_height); //lav en holder imagecopyresized($dst,$src,0,0,0,0,$tn_width,$tn_height,$width,$height); $nameResized = $uploadDir . substr(md5(uniqid(rand(), true)),0,20) . "thumb.jpg"; //navn på det nye billede imagejpeg($dst,$nameResized,80); //gemmer det nye billede med jpg kvalitet 80 imagedestroy($src); imagedestroy($dst);
Hejsa. Sad netop med samme problem forleden, men er løbet ind i en flaskehald på min udbyders nethotel, nemlig hvis brugeren uploader et fx 3000 px bredt billede, så opstår der problemer med resize, noget med at der måske ikke er ressourcer nok til at udføre handlingen. Hvor bliver dit hostet?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.