Bilder Upload (Allowed Memory Size...) Fehler

MC-René

Erfahrenes Mitglied
Hallo!

Habe ein Fehler beim hochladen von Bildern:

PHP:
$tempname = $_FILES['file']['tmp_name']; 
$name = $_FILES['file']['name']; 
$type = $_FILES['file']['type']; 
$size = $_FILES['file']['size'];

$neuername="einsatz_".$datum."_".$id."_".$bilder.".jpg";
$neuername_t="einsatz_".$datum."_".$id."_".$bilder."_kl.jpg";

//Thumbnail erstellen
 $size=getimagesize($tempname); 
 $width=$size[0]; 
 $height=$size[1];  
 $newwidth = 100;
 $newheight= 100; 
 $oldimage=ImageCreateFromJPEG($tempname); 
 $newimage=ImageCreate($newwidth,$newheight); 
 ImageCopyResized($newimage,$oldimage,0,0,0,0,$newwidth,$newheight,$width,$height); 
 ImageJPEG($newimage,$neuername_t); 

    copy("$tempname", $neuername); 
    echo "Das Bild wurde erfolgreich hochgeladen!<BR><BR>";

Allowed Memory Size... bla bla... (hier im Forum schon mehrfach besprochen...)

Demnach gibt es die Möglichkeit die PHP-INI zu ändern (geht aber nicht --> wg. Provider), die Bilder auf der Clientsite zu verkleinern (geht nicht, bzw. nicht sinn der sache) oder das Script zu verschlanken und Speicherfressende resourcen zu cutten...

Und komm ich auf die Profis hier zu... :)

Das Script soll das Bild hochladen (bzw. empfangen), ein Thumb in 100x100 erstellen und das ursprungs Bild ablegen.

Allerdings gehts nur mit Bildern < 250kByte; Upload_ + Memory_Limit ist 8M;

Kann mir nicht vorstellen dass das erstellen eines leeren 100x100 Thumbs mehr als 8M Speicher verbraucht...!

Wer kann mir helfen?
 
250Kbyte verstehen sich auf das komprimierte Bild. Zum hochladen bzw. editieren von Bildern (was ja bei imagecreate gemacht wird) wird mit dem unkomprimierten Bild gearbeitet und das ist meist weitaus größer.
Sprich bei dir wird das Bild hochgeladen (verbraucht den Speicher) und dann wird auch noch ein Bild erstellt (verbraucht noch einmal den Speicher) [Zumindest nach meiner Vorstellung... Kann sein, dass ich da komplett falsch liege].

Hab leider keine Formel dafür zur Hand, aber speicher das Bild doch mal als .bmp ab und schau wie groß es ist.
 
Hallo!

Danke für den Tipp; habe ich aber durch die Suche bereits gefunden und konnte das Problem ohne weitere hilfe noch nicht lösen! :eek:

Deiner Meinung nach sollte
PHP:
imagedestroy($tempname);
bei mir helfen?!

Also, wer kann mal kurz über das Script huschen...?

Danke...
 
Zurück