note 64155 added to function.imagecreatefromjpeg

From: Date: Sat, 08 Apr 2006 23:35:57 +0000
Subject: note 64155 added to function.imagecreatefromjpeg
Groups: php.notes 
Request: Send a blank email to php-notes+get-107573@lists.php.net to get a copy of this message
In John's human readable code version of Karolis code to dynimicly allocate need memory there are a few bugs. If you didn't compile with the "--enable-memory-limit" option, this script will error with a level E_ERROR. Bellow is a fixed version rapped as a function. To view replacement functions for memory_get_usage() look at http://us2.php.net/manual/en/function.memory-get-usage.php <?php function setMemoryForImage( $filename ){ $imageInfo = getimagesize($filename); $MB = 1048576; // number of bytes in 1M $K64 = 65536; // number of bytes in 64K $TWEAKFACTOR = 1.5; // Or whatever works for you $memoryNeeded = round( ( $imageInfo[0] * $imageInfo[1] * $imageInfo['bits'] * $imageInfo['channels'] / 8 + $K64 ) * $TWEAKFACTOR ); //ini_get('memory_limit') only works if compiled with "--enable-memory-limit" also //Default memory limit is 8MB so well stick with that. //To find out what yours is, view your php.ini file. $memoryLimit = 8 * $MB; if (function_exists('memory_get_usage') && memory_get_usage() + $memoryNeeded > $memoryLimit) { $newLimit = $memoryLimitMB + ceil( ( memory_get_usage() + $memoryNeeded - $memoryLimit ) / $MB ); ini_set( 'memory_limit', $newLimit . 'M' ); return true; }else return false; } } ?> ---- Server IP: 64.71.164.2 Probable Submitter: 24.72.197.162 ---- X-Spam-Status: No, hits=3.1 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER autolearn=no version=2.64 ---- Manual Page -- http://www.php.net/manual/en/function.imagecreatefromjpeg.php Edit -- http://master.php.net/note/edit/64155 Del: integrated -- http://master.php.net/note/delete/64155/integrated Del: useless -- http://master.php.net/note/delete/64155/useless Del: bad code -- http://master.php.net/note/delete/64155/bad+code Del: spam -- http://master.php.net/note/delete/64155/spam Del: non-english -- http://master.php.net/note/delete/64155/non-english Del: in docs -- http://master.php.net/note/delete/64155/in+docs Del: other reasons-- http://master.php.net/note/delete/64155 Reject -- http://master.php.net/note/reject/64155 Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#107573) next »