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

Hilfe
Neues Thema
Antworten


Nach oben



