mit einer Funktion möchte ich Bilder verkleinern, doch das funktioniert aus irgendeinem Grund nicht - doch den Fehler finde ich leider nicht.
Die Funktion sieht so aus:
<?php function to_thumbnail($bild) { $file = getimagesize($bild); if($file[2] == 1) { $altesBild = imagecreatefromgif($bild); } elseif($file[2] == 2) { $altesBild = imagecreatefromjpeg($bild); } $breite = $file[0]; $hoehe = $file[1]; $neueBreite1 = 800; $neueHoehe1 = intval($hoehe * $neueBreite1 / $breite); if($breite > $neueBreite1) { if($file[2] == 1) { # GIF chmod("bildergalerie/".$_POST["id"]."/", 0777); $neuesBild = imagecreatetruecolor($neueBreite1, $neueHoehe1); imagecopyresampled($neuesBild, $altesBild, 0, 0, 0, 0, $neueBreite1, $neueHoehe1, $breite, $hoehe); imagegif($neuesBild, "bildergalerie/".$_POST["id"]."/".$bild); } if($file[2] == 2) { # JPG chmod("bildergalerie/".$_POST["id"]."/", 0777); $neuesBild = imagecreatetruecolor($neueBreite1, $neueHoehe1); imagecopyresampled($neuesBild, $altesBild, 0, 0, 0, 0, $neueBreite1, $neueHoehe1, $breite, $hoehe); imagejpeg($neuesBild, "bildergalerie/".$_POST["id"]."/".$bild); } } else { if($file[2] == 1) { # GIF chmod("bildergalerie/".$_POST["id"]."/", 0777); $neuesBild = imagecreatetruecolor($neueBreite1, $neueHoehe1); imagecopyresampled($neuesBild, $altesBild, 0, 0, 0, 0, $breite, $hoehe, $breite, $hoehe); imagegif($neuesBild, "bildergalerie/".$_POST["id"]."/".$bild); } if($file[2] == 2) { # JPG chmod("bildergalerie/".$_POST["id"]."/", 0777); $neuesBild = imagecreatetruecolor($neueBreite1, $neueHoehe1); imagecopyresampled($neuesBild, $altesBild, 0, 0, 0, 0, $breite, $hoehe, $breite, $hoehe); imagejpeg($neuesBild, "bildergalerie/".$_POST["id"]."/".$bild); } } } ?>
Ich habe herausgefunden, dass das Script bereits bei imagecreatefromjpeg hängen bleibt. Allerdings nur bei großen Dateien, bei kleinen funktioniert alles wunderbar. Es kommt keine Fehlermeldung und es wird keine Datei gespeichert. Woran liegt das?
(ich habe bisland nur den Upload von JPG-Dateien ausprobiert, da mir das wichtiger ist )
Könnt ihr mir helfen?
Gruß
Martin
Dieser Beitrag wurde von inspire1989 bearbeitet: 25. März 2009 - 21:15