Autor Zpráva
creck
Profil
chci se zeptat co to je za chybu:

Fatal error: Allowed memory size of 6291456 bytes exhausted (tried to allocate 1600 bytes) in /fci.photo.php on line 86

teda vim co to znamena, ale jde to nejak osetrit??? Hazi mi to pri volani funkce:

imagecreatefromjpeg();

hazi mi to zejmena u obrazku vetsich jak 1600x1200.
Michal Škrabálek
Profil
Patrně zatížení serveru vyšší, než je povolená hodnota (překročení povolené paměti, atd...), čemuž napovídá i skutečnost, že se to projevuje pouze u velkých obrázků, kde funkce vyžaduje hodně systémových zdrojů.
creck
Profil
a jde to nejak osetrit na zacatku scriptu??? Protoze imagecreateformjpeg nevraci ani false ani true ...
rabbit
Profil
Protoze imagecreateformjpeg nevraci ani false ani true ...

Nemůže Ti ta funkce nic vrátit, když vlákno "chcípne" dřív, než ta funkce skončí.

Tady bohužel nestačí zkontrolovat velikost souboru před předáním té funkci. Ty té funkci posíláš komprimovaný obrázek, jenže ta funkce dělá právě to, že ho dekomprimuje. Nejsem si jistý, jestli na 24bitů/px, ale zkus se mkrnout do uživatelských komentářů u této funkce v manuálu ... tady máš jeden pro inspiraci:
-----------------------------------------------
yaroukh at gmail dot com (21-Aug-2005 12:15)

Estimated memory needed for ImageCreateFromJPEG
First I supposed simple width*height*bpp will be enough, it isn't though; there is some pretty big overhead.
$imageInfo = GetImageSize($imageFilename);
$memoryNeeded = Round(($imageInfo[0] * $imageInfo[1] * $imageInfo['bits'] * $imageInfo['channels'] / 8 + Pow(2, 16)) * 1.65);
With memory_limit enabled running out of memory causes script to crash; above written will tel you how much memory you're gonna need for creating an image-resource out of image-file. So in conjunction with Memory_Get_Usage() and Get_CFG_Var('memory_limit') you can avoid the mentioned ending. (Yet there won't be too many images blocked from processing that would still fit in the memory, as the results of this are pretty accurate.)
creck
Profil
rabbit ...

diky ...
Toto téma je uzamčeno. Odpověď nelze zaslat.