Fehler im Script?
-
Hi,
ich habe mir ein kleines Script gemacht, was zu Orginalbildern Thumbnails erstellen soll! Die Orginalbilder liegen in einem Ordner (bilder) und die Thumbnails sollen in einem anderen Ordner (tn) erstellt werden!Das \1:
<?php header("Cache-Controll: no-cache, must revalidate"); header("Content-type: image/PNG"); $verz = opendir("bilder/"); while ($Datei = readdir($verz)) { if(!is_dir($datei)) { $size = getimagesize("bilder/".$Datei); $breite = $size[0]; $hoehe = $size[1]; $nBreite=100; //Tumbnailbreite if ($breite<$hoehe) { $nBreite = $Breite*0.70; } $nHoehe=intval($hoehe*$neueBreite/$breite); $aBild = ImageCreateFromJPEG("bilder/".$Datei); $nBild = imagecreate($nBreite,$nHoehe); ImageCopyResized($nBild,$abild,0,0,0,0,$nBreite,$nHoehe,$breite,$hoehe); ImageJPEG($nBild,"tn/".$Datei); } } ?>
Ich kann hier direkt keinen Fehler finden!?!
Ich habe mich bei diesem Script nach einem Tutorial gerichtet!
thx for help
-
if ($breite<$hoehe) { $nBreite = $Breite*0.70; }
Hier fällt mir spontan der fehler auf: $Breite existiert nicht.. du müsstest dort $breite nehmen
Edit:
nochwas:$nHoehe=intval($hoehe*$neueBreite/$breite);
wo hast du denn hier $neueBreite her? Das soll wohl $nBreite heißen
Liebe grüsse
-
Hi,
Ja das ist mir dann auch noch aufgefallen!
Aber das Script funzt trotzdem nicht! Der erstellt keine Thumbs!
-
Hab das Script jetzt ma im IE ausprobiert, un da bekomme ich die Fehlermeldung, dass die Funktionen ImageCreate() und ImageCreatefromJPG() nicht bekannt sind!?! Im Opera bekam ich keine Fehlermeldung!
thx for help
-
Hab den Fehler gefunden, lag nicht am Script! Mir hat nur die passende Lib gefehlt, war in der PHP.ini deaktiviert! (gd2 lib)
-
wenn du gd2 hast und auf dem server wo es dann im endeffekt auch laufen soll auch gd2 ist, nimm anstatt imagecopyresized() imagecopyresampled().
diese funktion sampled das ganze bild noch mal mehr oder weniger neu, ist deshalb auch n bissl langsamer aber die qualität wird dadurch um längen besser. wenn dann ein fehler kommt, dass die funktion nicht gefunden wurde, is halt noch n gd1 installiert