Probleme beim Skalieren von Bilder

Kalito

Erfahrenes Mitglied
Hallo,

ich kann ein Bild uploaden, aber nicht runter skalieren.
Der Code:

PHP:
    if(!$error){
        move_uploaded_file($_FILES['img']['tmp_name'],"bilder/urbild/".$_SESSION['username'].".jpg");
        $file        = "http://test.de/Script/vz/bilder/urbild/".$_SESSION['username'].".jpg";
        $target      = "http://test.de/Script/vz/bilder/urbild/".$_SESSION['username'].".jpg";
        $max_width   = "120"; //Breite ändern
        $max_height   = "180"; //Höhe ändern
        $quality     = "100"; //Qualität ändern (max. 100)
        $src_img     = imagecreatefromjpeg($file);
        $picsize     = getimagesize($file);
        $src_width   = $picsize[0];
        $src_height  = $picsize[1];

        if($src_width > $src_height){
            if($src_width > $max_width){
                $convert = $max_width/$src_width;
                $dest_width = $max_width;
                $dest_height = ceil($src_height*$convert);
            }
            else{
                $dest_width = $src_width;
                $dest_height = $src_height;
            }
        }
        else{
            if($src_height > $max_height){
                $convert = $max_height/$src_height;
                $dest_height = $max_height;
                $dest_width = ceil($src_width*$convert);
            }
            else{
                $dest_height = $src_height;
                $dest_width = $src_width;
            }
        }

        $dst_img = imagecreatetruecolor($dest_width,$dest_height);
        imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_height, $src_width, $src_height);
        imagejpeg($dst_img, $target, $quality);
        //nach dem upload weiterleitung zur upload.php
        //header("Location: http://test.de/Script/vz/foto-bearbeiten.html");
        //exit();
    }

zudem spuckt er mir bei
PHP:
imagejpeg($dst_img, $target, $quality);
folgende Fehlermeldung aus: Warning: imagejpeg() [function.imagejpeg]: Unable to open ...


Irgendwie komme ich hier nicht weiter. Das Bild ist trotzdem am Ende auf dem Server.
 
Nun es ist relativ einfach zu erkennen, warum das nicht geht. imagejpeg kann kann nur lokale Dateien zum Schreiben öffnen, du hast es aber angewiesen eine Remote-Datei zu öffnen:

PHP:
$file        = "http://test.de/Script/vz/bilder/urbild/".$_SESSION['username'].".jpg";

Sobald ein http:// im Pfad vorkommt, ist es remote, egal, ob es letztendlich auf den eigenen Server zeigt. Der Pfad sollte wohl eher so lauten:

PHP:
$file = "bilder/urbild/".$_SESSION['username'].".jpg"
 
Zurück