Avatar billede funti Nybegynder
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);
}
Avatar billede erikjacobsen Ekspert
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 ?
Avatar billede funti Nybegynder
09. marts 2003 - 00:21 #2
nej... den går bare i stå.
det burde jo virke
Avatar billede erikjacobsen Ekspert
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.
Avatar billede funti Nybegynder
09. marts 2003 - 00:25 #4
kan ikke sige hvis kilde
Avatar billede gistybit Nybegynder
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
Avatar billede funti Nybegynder
09. marts 2003 - 00:30 #6
hmm det gør ingen forskel...
kan det være at scriptet ikke virker generelt?
Avatar billede funti Nybegynder
09. marts 2003 - 00:31 #7
jeg har forresten tager lidt fra:

http://kentung.f2o.org/scripts/thumbnail/resize.txt
Avatar billede funti Nybegynder
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
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester