Bilderupload und Resample

Hallo,

ich möchte für eine Bildergalerie ein Upload per HTML-Formular ermöglichen. Ein PHP-Programm soll die Bildabmessungen (falls zu groß) in eine vorgegebene Standardgröße umwandeln.

Wie im Web so oft zu finden, arbeite ich u.a. mit folgenden Funktionen:

move\_uploaded\_file ($tmp\_name, $bilddatei);
_(...Bildgrößenermittlung und Neuberechnung...)_
$altesBild = ImageCreateFromJPEG ($bilddatei);
$neuesBild = ImageCreateTrueColor ($neueBreite, $neueHoehe);
ImageCopyResampled ($neuesBild, $altesBild, ......);
ImageJPG ($neuesBild, $bilddatei, 75);

Nun habe ich ein Problem, dass das Programm bereits bei Bildern von ca 1.500.000 Bildpunkten nicht mehr funktioniert, weil der Server zu viel Speicher bei der Umwandlung der Bilddatei benötigt. Die Grenze in der php.ini liegt für memory_limit bei 8M, was ich auch nicht höher stellen möchte.

Gibt es eine andere Möglichkeit, Bildabmessungen serverseitig zu verkleinern, so dass der Arbeitsspeicher nicht so auslastet wird?

Nach Problemen der Anwenderinnen habe ich selbst mit kleinen Dateien (aber großen Abmessungen) experimentiert. Bei einem 1,8-Megapixel-Foto, dass in schlechter JPG-Qualität mit 125 KBytes gespeichert wurde, führt schon das

 ImageCreateFromJPEG

zu einem Fehler

 Allowed memory size of 8388608 bytes exhausted

in der error_log.

Danke für Alternativen
Wolfgang

Hallo,

gelöscht :

Nach Problemen der Anwenderinnen habe ich selbst mit kleinen
Dateien (aber großen Abmessungen) experimentiert. Bei einem
1,8-Megapixel-Foto, dass in schlechter JPG-Qualität mit 125
KBytes gespeichert wurde, führt schon das

ImageCreateFromJPEG

zu einem Fehler

Allowed memory
size of 8388608 bytes exhausted

in der error_log.

Danke für Alternativen
Wolfgang

Hallo WOlfgang,

das dürfte nicht klappen, da das Bild immer Pixel für Pixel aufgebaut (dekomprimiert) werden muss.

MfG Georg V.

Hallo,

ich möchte für eine Bildergalerie ein Upload per HTML-Formular
ermöglichen. Ein PHP-Programm soll die Bildabmessungen (falls
zu groß) in eine vorgegebene Standardgröße umwandeln.

Gibt es eine andere Möglichkeit, Bildabmessungen serverseitig
zu verkleinern, so dass der Arbeitsspeicher nicht so auslastet
wird?

wenn du zugriff auf system() befehle hast, koenntest du mit convert aus der imagemagick-suite arbeiten.