imagecreatefromjpeg() erzeugt Fehler bei großen JPEGs
Chris
- php
Hallo,
ich habe ein merkwürdiges Problem: Bei JPEGs > 1MB erzeugt die Funktion imagecreatefromjpeg() einen Fehler. Der wird allerdings auch nur angezeigt, wenn ich ein "or die("Fehler")" hinten dranhänge.
Bei kleineren JPEGs gibt es kein Problem. Ich habe über Google schon mehrfach das Problem gefunden, jedoch meistens keine Lösung (und keine, die es bei mir lösen würde).
Hier ist die Funktion:
function createPicture($quelle, $typ, $ziel, $quality) {
// Bildgrößen ermitteln
$size01 = GetImageSize ($quelle,&$info);
if (isset ($info["APP13"])) {
$iptc = @iptcparse ($info["APP13"]);
}
if(!$size01) { return "size01 fehler"; }
$breite_alt = $size01[0];
$hoehe_alt = $size01[1];
$quell_file = imagecreatefromjpeg($quelle) or die("Fehler");
}
Den Rest der Funktion habe ich mal weggelassen, da der Fehler eben hier schon auftritt. der Aufruf sieht so aus:
echo testPicture($_FILES['datei']['tmp_name'], "image/jpeg", "ziel.jpg", 100);
Wie man sieht habe ich den Dateityp und den Zielnamen auch schon fest in den Aufruf reingeschrieben, um Fehlerquellen auszuschließen.
Kann jemand weiterhelfen? Ich weiß nicht mehr weiter...
Grüße
Chris
Grüße,
war doch erst vor paar tagen ein thema - man einigte sich glaube ich, darauf, dassjpg "unkomprimiert" zwischenbearbeitet wird und daher an speicehr mangel verrekt. lies aber lieber nach.
MFG
bleicher
Hallo Chris,
hast du auch in der php.ini mehr als 16MB angegeben?
mfg steffen
Hi,
ich habe ein merkwürdiges Problem: Bei JPEGs > 1MB erzeugt die Funktion imagecreatefromjpeg() einen Fehler.
Zum x-ten Mal: Die *Dateigroesse* eines solchen (komprimierten) Bildes interessiert kaum - was zaehlt, ist die *entpackte* Groesse, die so ein Bild im Speicher braucht, also Breite mal Hoehe mal 3 (fuer true color).
MfG ChrisB
Lieber ChrisB,
was zaehlt, ist die *entpackte* Groesse, die so ein Bild im Speicher braucht, also Breite mal Hoehe mal 3 (fuer true color).
vielleicht sollte man anbeiten, dass man in seinem PHP-Script kurzzeitig (falls das in den PHP-Einstellungen des Servers erlaubt ist) das Memory-Limit anheben kann.
[link:http://de2.php.net/manual/en/function.ini-set.php@title=ini_set]('[link:http://de2.php.net/manual/en/ini.php#ini.list@title=memory_limit]', '128M');
Liebe Grüße aus Ellwangen,
Felix Riesterer.