Daniel: Bild wird mit $_FILES['<name>']['temp'] nicht gefunden

Hallo alle zusammen,

ich versuche mich gerade an einer Methode, um hochgeladene Bilder in der Größe zu verändern und zu speichern.

Siehe dazu auch https://forum.selfhtml.org/?t=97478&m=593368

Das klappt eigentlich alles auch schon soweit.

Die Methode bekommt u.a. den Pfad zum Quellbild übergeben (vom Bild das verkleinert werden soll) und einen Pfad unter dem das verkleinerte Bild dann gespeichert werden soll.

So könnte also ein Aufruf aussehen:
if($image -> ResizeImage(
"/www/_Testdir_local/image-process/uploaded_source/".$SaveName,         "/www/_Testdir_local/image-process/uploaded_resized/".$SaveName,                 array(0,250),80)
Übergeben wird also der Quellpfad, der Zielpfad, die Zielgröße und der Komprimierungsfaktor.
Das setzt nun aber auch voraus, das die Quelldatei schon im Dateisystem d. Servers gespeichert ist.

Mein Problem:
Angenommen, ich will das Orginalbild gar nicht speichern, sondern gleich nach dem Upload verkleinern und komprimieren (hab ja auch nicht  ewig platz... ;-) ), dann klappt das nicht mehr.

Ich dachte das müßte klappen, wenn ich der Methode beim Aufruf den Temp-Pfad mitgeben:
if($image -> ResizeImage(
$_FILES['upload']['temp'],
"/www/_Testdir_local/image-process/uploaded_resized/".$SaveName,
array(0,250),10)

klappt aber leider nicht...
stattdessen wird das bild nicht gefunden:
Warning:  imagecreatefromjpeg(/tmp/php1t8iBK) [function.imagecreatefromjpeg]: failed to create stream: No such file or directory in /www/_Testdir_local/image-process/image-process.class.php on line 141

Kann mir jemand sagen, was da schief geht? ;-)
eigentlich müßte doch mit $_FILES['upload']['temp'] auf die Datei zugegriffen werden können, oder?

Vielen Dank für eure Hilfe,
Grüße,
Daniel

  1. Hallo,

    das Problem hat sich soeben selber gelöst ;-)

    ich habe vorher eine Methode zum Speichern des Uploads aufgerufen, in der ein move_uploaded_file vorkommt.
    Damit wird die hochgeladende Datei gelöscht und eine Kopie davon im Filesystem weggespeichert. Klar, daß die temp-Datei dann nicht mehr zum Resizen gefunden werden kann... :-)

    Vielleicht doch schon etwas später mittlerweile...

    Grüße,
    Daniel