Autor |
Nachricht |
aUDIOfREAK
Threadersteller
Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht:
|
Verfasst So 05.09.2004 14:28
Titel [php] memory_limit bei bildmanipulation überschritten |
|
|
ich habe mir ein kleines script aus dem netz geladen, mit dem hochgeladene bilder auf ein bestimmtes format gerechnet werden, mittels der gd-library. bei bildern bis 200 kb größe klappt das auch wie es soll. aber bei größeren bildern bekomme ich vom server die fehlermeldung:
Code: | Fatal error: Allowed memory size of 8388608 bytes exhausted at (null):0 (tried to allocate 4924 bytes) in /var/inetpub/www/serverpfad/testbild.php on line 17 |
mir ist klar, das das eingestellte memory_limit auf dem server von 8 Mb überschritten wurde. aber gibt es eine möglichkeit das zu verhindern? in vielen fällen sind bilder, die meine kunden hochladen größer, wenn sie z.b. direkt von der digicam kommen. also die frage ist, welche möglichkeit, außer in der php.ini das limit hochzusetzen gibt es noch, größere bilder auf dem server zu verarbeiten?
hier mal das script das ich verwende:
Code: | <?
$dateiname=$HTTP_POST_FILES['datei']['name'];
copy($datei, "bilder/$dateiname");
$groesse=getimagesize("bilder/$dateiname");
$breite=$groesse[0];
$hoehe=$groesse[1];
$typ=$groesse[2];
print $typ;
$hoehe2=$hoehe*100/$breite;
$image1 = imagecreate(100,$hoehe2);
switch ($typ)
{
case 1:
$image = imagecreatefromgif("bilder/$dateiname");
break;
case 2:
$image = imagecreatefromjpeg("bilder/$dateiname");
break;
case 3:
$image = imagecreatefrompng("bilder/$dateiname");
break;
case 4:
$image = imagecreatefromwbmp("bilder/$dateiname");
break;
default: $gestorben="ja";
}
imagecopyresized($image1, $image, 0,0, 0,0,100,$hoehe2,$breite,$hoehe);
switch ($typ)
{
case 1:
imagegif($image1,"bilder/thumbs/$dateiname");
break;
case 2:
imagejpeg($image1,"bilder/thumbs/$dateiname",50);
break;
case 3:
imagepng($image1,"bilder/thumbs/$dateiname");
break;
case 4:
imagewbmp($image1,"bilder/thumbs/$dateiname");
break;
default: $gestorben="ja";
}
print "Das Bild wurde hochgeladen und abgespeichert.".
" Der Thumbnail ist im Ordner thumbs, das Bild in bilder";
?> |
|
|
|
|
|
angelone
Dabei seit: 29.08.2004
Ort: -
Alter: 43
Geschlecht:
|
Verfasst So 05.09.2004 16:53
Titel
|
|
|
ich glaub da machste nix.
die gd lib braucht hammerviel speicher und cpu.
kann man aber auch nix dran ändern, is halt so programmiert.
und wenn du dann bei so fetten bildern übers memorylimit kommst, ist der einzige der dein problem beheben könnte der serveradmin.
aber ich bezweifle, dass der das memorylimit hochstellt.
|
|
|
|
|
Anzeige
|
|
|
aUDIOfREAK
Threadersteller
Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht:
|
Verfasst So 05.09.2004 16:59
Titel
|
|
|
und was gibts neben der gd-lib noch an alternativen. ich hab mal imagemagick gehört, mich aber noch net wirklich näher damit beschäftigt. is das auch ne serverextension oder kann man das wie ein script laufen lassen? oder gibts nochwas, das jpg-bilder kleinrechnen kann, das ich noch net kenn?
|
|
|
|
|
webdeveloper
Dabei seit: 25.05.2003
Ort: SG
Alter: 39
Geschlecht:
|
Verfasst So 05.09.2004 17:06
Titel
|
|
|
wie schon angesprochen nur über die php.ini zu lösen.
btw: erklär' mir mal, wie bilder direkt von der digicam auf über 3mb kommen??
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 05.09.2004 17:16
Titel
|
|
|
http://www.imagemagick.org/ wirste wohl nur schaffen das zu
nutzen, wenn er hoster bereit is das zu installieren.
ansonsten wird dir ausser der gd wohl net wirklich viel übrig
bleiben was net noch schlechter is als die gd und noch mehr
speicher verbraucht
|
|
|
|
|
aUDIOfREAK
Threadersteller
Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht:
|
Verfasst So 05.09.2004 17:25
Titel
|
|
|
dastef hat geschrieben: | http://www.imagemagick.org/ wirste wohl nur schaffen das zu
nutzen, wenn er hoster bereit is das zu installieren.
ansonsten wird dir ausser der gd wohl net wirklich viel übrig
bleiben was net noch schlechter is als die gd und noch mehr
speicher verbraucht |
sowas in der art hab ich schon befürchtet... naja, mal schaun ob ich meinen provider bezirzen kann, dass zumindest die 800 kb bilder funktionieren
trotzdem danke für die hilfe.
|
|
|
|
|
|
|
|
Ähnliche Themen |
[PHP] Klassen für Bildmanipulation
[Flash] Frame limit umgehen
[Photoshop 7] Zeichen-Limit beim Abspeichern von .jpg ?
SQL Abfrage: LIMIT - Ab dem Xten Datensatz, Alle weiteren
Cinema 4D - not enough memory ???
Memory programmieren
|
|