09. marts 2003 - 00:08
Der er
7 kommentarer og 1 løsning
resize script
Hej! Jeg har lidt store problemer her... Jeg forsøger at lave et script der henter alle .jpg billeder frem og derpå laver et thumb af hver enkel... Problemet er at den kun laver et måske to thumbs selv om mappen indeholder 70... nogen der kan hjælpe? function resize_img($imgname,$size) { $img_src = ImageCreateFromjpeg ($imgname); $true_width = imagesx($img_src); $true_height = imagesy($img_src); if ($true_width>=$true_height) { $width=$size; $height = ($width/$true_width)*$true_height; } else { $height=$size; $width = ($height/$true_height)*$true_width; } $img_des = ImageCreateTrueColor($width,$height); imagecopyresized ($img_des, $img_src, 0, 0, 0, 0, $width, $height, $true_width, $true_height); return $img_des; } $physicaldir='./'; $d=opendir($physicaldir); while ($f=readdir($d)) { if (eregi('\.(jpg)$',$f)) { $billed[] = $f; } } sort($billed); for($i=1;$i<=sizeof($billed);$i++) { $picture_location="./$billed[$i]"; // picture locarion $picture_save="./test/$i.jpg"; // picture save location $size=130; // thumbnail size (pixels) $img_des=resize_img($picture_location,$size); imagejpeg($img_des); imagejpeg($img_des,$picture_save); }
Annonceindlæg fra Kingston Technology
09. marts 2003 - 00:15
#1
Du skal i hvert fald: for($i=0;$i<sizeof($billed);$i++) { men det er jo ikke derfor. Får du timeout ?
09. marts 2003 - 00:21
#2
nej... den går bare i stå. det burde jo virke
09. marts 2003 - 00:23
#3
I stå? Prøv at skriv navnene ud på de filer der behandles. Og vær sikker på at sige "Vis kilde" for at se eventuelle fejlbeskedder.
09. marts 2003 - 00:25
#4
kan ikke sige hvis kilde
09. marts 2003 - 00:27
#5
check max_execution_time i din php.ini fil. Sæt den til 0, i stedet for default 30
09. marts 2003 - 00:30
#6
hmm det gør ingen forskel... kan det være at scriptet ikke virker generelt?
09. marts 2003 - 00:31
#7
09. marts 2003 - 00:57
#8
tak for jeres deltagelse... har selv løst det! Min løsning blev som følger: <? $physicaldir='./'; $d=opendir($physicaldir); while ($f=readdir($d)) { if (eregi('\.(jpg)$',$f)) { $picture_location= $f; $new_file = substr($f, 0, strlen($f)-4); $picture_save = "$new_file"."_thumb.jpg"; $size=140; $img_des=resize_img($picture_location,$size); imagejpeg($img_des,$picture_save); } } function resize_img($imgname,$size) { $img_src = ImageCreateFromjpeg ($imgname); $true_width = imagesx($img_src); $true_height = imagesy($img_src); if ($true_width>=$true_height) { $width=$size; $height = ($width/$true_width)*$true_height; } else { $height=$size; $width = ($height/$true_height)*$true_width; } $img_des = ImageCreateTrueColor($width,$height); imagecopyresized ($img_des, $img_src, 0, 0, 0, 0, $width, $height, $true_width, $true_height); return $img_des; } ?> måske slamkode... men det virker :D
Vi tilbyder markedets bedste kurser inden for webudvikling