Ik heb een functie geschreven die afbeeldingen resized en ze wegschrijft naar een vooraf bepaalde locatie. Op mijn eigen server is dit geen probleem, maar de server waar het script uiteindelijk gehost moet worden werkt niet bepaald mee...
Bij het uitvoeren van het script met kleine bestanden is er niets aan de hand, werkt als een zonnetje! Helaas krijg ik wanneer de bestandsgrootte toeneemt de volgende foutmelding:
Heeft er iemand advies over hoe ik dit probleem kan omzeilen danwel oplossen? Of wellicht tips om het script in het algemeen wat beter te laten worden? Ik vond het nogal vreemd namelijk dat die 10MB zo snel verbruikt waren
PHP: _code.php
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| function storePic($o_file, $r_width, $filename) { global $root, $dataFolder, $uploadFolder; $original = imagecreatefromjpeg($root.$uploadFolder.$o_file); $o_width = imagesx($original); $o_height = imagesy($original); $r_height = round($o_height * $r_width / $o_width); $resized = imagecreatetruecolor($r_width, $r_height); $watermark = imagecreatefromgif("_watermark.gif"); imagecopyresampled($resized, $original, 0, 0, 0, 0, $r_width, $r_height, $o_width, $o_height); imagecopymerge($resized, $watermark, 0, 0, 0, 0, $r_width, $r_height, 25); imagejpeg($resized, $root.$dataFolder.$filename); imagedestroy($original); imagedestroy($resized); imagedestroy($watermark); } |
Bij het uitvoeren van het script met kleine bestanden is er niets aan de hand, werkt als een zonnetje! Helaas krijg ik wanneer de bestandsgrootte toeneemt de volgende foutmelding:
Hieruit maak ik op dat het script teveel geheugen vreet. Vreemd, want dit gebeurt al wanneer ik een foto van 500kb probeer te verwerken... Het bestand _watermark.gif is overigens slechts 16kb.Fatal error: Allowed memory size of 10485760 bytes exhausted (tried to allocate 1600 bytes) in _data.php on line 53
Heeft er iemand advies over hoe ik dit probleem kan omzeilen danwel oplossen? Of wellicht tips om het script in het algemeen wat beter te laten worden? Ik vond het nogal vreemd namelijk dat die 10MB zo snel verbruikt waren