Ich habe eine Bildergalerie geschrieben, wo man 5 Bilder gleichzeitig hochladen kann. Jedes einzelne Bild wird resized und dazu noch ein Thumbnail erstellt. Funktioniert soweit auch alles wunderbar.
Jetzt hab ich eine Frage! Bei zwei Bildern die insgesamt unter 20971520 Bytes sind bekomme ich folgende Fehlermeldung:
Was läuft da schief?
Also die zwei Dateien sind insgesamt 1.467.678 Bytes groß! Nach dem Resizen sind sie + Thumbnails 212.845 Bytes groß!
Wäre es möglich das er jede einzelne Datei doppelt nimmt, weil er die geuploadete Datei einmal als verkleinertes Vollbild nimmt und dann aus der geuploadete Datei nochmal das Thumb erstellt? Oder leigt es daran das ich die erstellten Dateien nochmal kopiere?
Hier noch kurz der Code:
Jetzt hab ich eine Frage! Bei zwei Bildern die insgesamt unter 20971520 Bytes sind bekomme ich folgende Fehlermeldung:
PHP-Code:
Fatal error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 8192 bytes) in
/home/www/web178/html/admin/docs/subsites/galerie_write.php on line 264
Also die zwei Dateien sind insgesamt 1.467.678 Bytes groß! Nach dem Resizen sind sie + Thumbnails 212.845 Bytes groß!
Wäre es möglich das er jede einzelne Datei doppelt nimmt, weil er die geuploadete Datei einmal als verkleinertes Vollbild nimmt und dann aus der geuploadete Datei nochmal das Thumb erstellt? Oder leigt es daran das ich die erstellten Dateien nochmal kopiere?
Hier noch kurz der Code:
PHP-Code:
#Erzeugung 74er Thumb
$thumb_res = imagecreatetruecolor($new_image_width_thumb,
$new_image_height_thumb);
imagecopyresampled($thumb_res, $im, 0, 0, 0, 0, $new_image_width_thumb, $new_image_height_thumb,
$image_width, $image_height);
$thumb = imagecreatetruecolor(74, 74);
imagecopy($thumb, $thumb_res, 0, 0, $x, $y, 74, 74);
imagejpeg($thumb, "/home/www/web178/html/admin/images/galerie_pics/$dir/thumbs/$strFileName", 100);
copy("/home/www/web178/html/admin/images/galerie_pics/$dir/thumbs/$strFileName",
"/home/www/web178/html/site/images/galerie_pics/$dir/thumbs/$strFileName");
#Erzeugung Vollbild
$new_image = imagecreatetruecolor($new_image_width, $new_image_height);
imagecopyresampled($new_image, $im, 0, 0, 0, 0, $new_image_width, $new_image_height, $image_width, $image_height);
imagejpeg($new_image, "/home/www/web178/html/admin/images/galerie_pics/$dir/$strFileName", 100);
copy("/home/www/web178/html/admin/images/galerie_pics/$dir/$strFileName",
"/home/www/web178/html/site/images/galerie_pics/$dir/$strFileName");
Kommentar