Grande Problema imageCreateFromJpeg...

ronin

Erfahrenes Mitglied
Moin zusammen.


Seit halb 10 heute morgen sitz ich hier an diesem Mist. Ich kapier net, warum diese Funktion net geht.

Mein Code:
PHP:
move_uploaded_file($_FILES["datei"]["tmp_name"], "user/".$_SESSION["id"]."/".$write.".jpg");
chmod("user/".$_SESSION["id"]."/".$write.".jpg", 0644);
$dest_width  = 600;
$dest_height = intval($img[1]*($dest_width/$img[0]));

// Folgende Zeile verursacht den Fehler
$srcImage    = imageCreateFromJpeg("user/".$_SESSION["id"]."/".$write.".jpg");
$tempImage   = imagecreatetruecolor($dest_width, $dest_height);
imagecopyresampled($tempImage, $srcImage, 0, 0, 0, 0, $dest_width, $dest_height, $img[0], $img[1]);
imageJpeg($tempImage, "user/".$_SESSION["id"]."/".$write.".jpg", 70);
imagedestroy($tempImage);
imagedestroy($srcImage);

Also ... Der Upload funktioniert.
Den chmod setze ich, da die raufgeladene Datei sonst auf 600 steht. Is net so dolle. ;)
Und genau die folgende imageCreateFromJpeg-Funktion wirft mir nur Fehler aus. Egal was ich mache ... und seit halb 10 hab ich VIEL probiert.

Selbst wenn ich das Script ohne Upload aufrufe und Anweisung gebe, das er nen Bild laden soll .. macht der net. Einfach nur ne Fehlermeldung. Und witzigerweise: ich übeprüfe vorher noch ob die Datei existiert und sie tut es auch.

Ich verzweifel hier ... hat jemand nen Tip?

Danke, Ronin
 
PHP:
    $img = getimagesize("testbild.jpg");

    $dest_width  = 600;
    $dest_height = intval($img[1]*($dest_width/$img[0]));

    $srcimage    = imageCreateFromJpeg("testbild.jpg");
    $tempimage   = imagecreatetruecolor($dest_width, $dest_height);
    imagecopyresampled($tempimage, $srcimage, 0, 0, 0, 0, $dest_width, $dest_height, $img[0], $img[1]);
    imagejpeg($tempimage, "testbild.jpg", 70);
    imagedestroy($tempimage);
    imagedestroy($srcimage);

Es wird dir villeicht nicht sehr helfen, aber das geht bei mir ohne dass er murrt :)
 
Die genau Fehlermeldung wäre schön gewesen, aber man kann ja nicht alles haben :rolleyes:
 
Tja ... das is mein Problem.
Ne wirkliche Fehlermeldung schmeißt der net aus. Ich beende das nur mittels
PHP:
$srcImage    = imageCreateFromJpeg("user/".$_SESSION["id"]."/".$write.".jpg") or die("Klappt net");

Und es kommt immer "Klappt net".



So ... was nü?
Das hochgeladene Bild bleibt noch so wie es is. Es wird nicht geöffnet, geschweige denn verändert.
 
Es gibt "veränderte" JPEG-Formate die du zwar noch aufm PC ansehen kanns, mit denen aber PHP nicht klar kommt.

Falls es daran liegt machst du diese Überprüfung am Besten direkt am Upload rein:

PHP:
$img = getimagesize("testbild.jpg");

$dest_width  = 600; 
$dest_height = intval($img[1]*($dest_width/$img[0]));

if ( $img['2'] == 1 ) $srcimage = imagecreatefromgif( $pic );
elseif ( $img['2'] == 2 ) $srcimage = imagecreatefromjpeg( $pic );
else {
    print "Kein gültiges GIF/JPEG Format!";
    die();
}
 
Ich bekomm grad Aggros ... Teil 2.


Also.
Wenn ich ein Bild hochlade und NUR ein Thumbnail erzeuge funktioniert alles perfekt.

Sollte es jedoch passieren, das ich ein Bild bearbeiten muß weil es z.B. größer als 600 Pixel is und es reduzieren will ... dann scheitere ich schon am ImageCreateFromJpeg. Das is doch net normal. Der Code is absolut gleich, nur die Zielmaße (Thumbnail-Breite: 100 Pixel, reduzierte Bildgröße: 600 Pixel).


PHP kann mich doch net so verarschen wollen?
Ronin
 
Zurück