Hallo,
ik heb een probleem met het resizen van foto's die ik upload naar mijn pagina, het uploaden gaat goed, de fotos komen in de goede map terecht, maar het resize-script loopt vast op het commando:

$src_img = imagecreatefromjpeg("$input_file_name");

Als ik geef een : echo "$input_file_name<br>";
komt er op het scherm : fotos/upload/DSC00162.JPG

Het lijkt dus alsof het commando imagecreatefromjpeg niet werkt.
Ik het hosting bij XS4ALL, en een phpinfo geeft voor de GD het volgende:

gd

GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

Wie kan mij helpen?
Hoe merk je dat het script vastloopt? Krijg je een foutmelding?
Nee, helaas geen foutmelding, ik heb in het script op diverse plekken een echo met wat tekst.

echo "$input_file_name<br>";
dit krijg ik nog wel te zien.

$src_img = imagecreatefromjpeg("$input_file_name");

echo "krijg ik dit nog te zien?";
dit helaas niet meer.
verder stopt het script blijkbaar gewoon ermee.
Zet eens
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
boven aan je script. Dit zorgt ervoor dat alle foutmeldingen getoond worden...
ok, thanks,
dan krijg ik de volgende foutmelding:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 9216 bytes) in /usr/local/WWW/A/.1/m/miedema/htdocs/fotos/thumbnail.php on line 27

line 27 in thumbnail.php is dus de regel :
$src_img = imagecreatefromjpeg("$input_file_name");

mijn foto is 1,6Mb ik snap dus niet waar die 8,3Mb vandaan komt
Dat is blijkbaar de ruimte die je script in beslag neemt. Ik heb nog nooit last gehad van dit probleem en zou ook zo snel niet weten wat je moet veranderen om dit op te lossen.

Kun je in je php.ini op zoek gaan naar een max instelling voor je memory oid? Of heb je daar geen toegang tot?
Helaas, ik beheer een pagina voor iemand bij XS4ALL, dus heb geen invloed op PHP.ini
Ik denk dat ik een mailtj naar de helpdesk stuur, maar... ik verwacht daar weinig support van.

In ieder geval, bedankt voor je hulp.

Wellicht kun je met ini_set() de boel aanpassen, zie ook http://www.php.net/manual/nl/ini.core.php#ini.memory-limit

Maak onderzoek ook eens waarom er zoveel geheugen wordt gebruikt. Dan kun je wellicht de oorzaak achterhalen en het echte probleem gaan oplossen. 1 foto van 1.6MB mag volgens mij niet het probleem zijn.
De GD functies hebben een maximum. Mijn ervaring is dat ze gaan klagen zodra je een foto groter dan plusminus 800 KB probeert te bewerken.
Hallo,
sorry voor de late reaktie, toch nog even de oplossing geven:

@pqFrank:
thanks, dat werkt, ik heb het geheugen voor dit script groter kunnen maken met de regel:

ini_set('memory_limit', '16M');


foto's van ongeveer 1,5 tot 2,5 Mb getest, werkt perfect.

Reageren