Also, here is the same formula presented in a somewhat more
human-readable way, if you'd rather:
<?php
$MB = Pow(1024,2); // number of bytes in 1M
$K64 = Pow(2,16); // number of bytes in 64K
$TWEAKFACTOR = 1.8; // Or whatever works for you
$memoryNeeded = round( ( $imageInfo[0] * $imageInfo[1]
* $imageInfo['bits']
*
$imageInfo['channels'] / 8
+ $K64
) * $TWEAKFACTOR
);
$memoryHave = memory_get_usage();
$memoryLimitMB = (integer) ini_get('memory_limit');
$memoryLimit = $memoryLimit * $MB;
if ( function_exists('memory_get_usage')
&& $memoryHave + $memoryNeeded >
$memoryLimit
) {
$newLimit = $memoryLimitMB + ceil( ( $memoryHave
+ $memoryNeeded
- $memoryLimit
) / $MB
);
ini_set( 'memory_limit', $newLimit . 'M' );
}
?>
----
Server IP: 216.194.113.175
Probable Submitter: 24.39.15.180
----
Manual Page -- http://www.php.net/manual/en/function.imagecreatefr
omjpeg.php
Edit -- http://master.php.net/manage/user-notes.php?action=
edit+61709
Delete: added to the manual -- htt
p://master.php.net/manage/user-notes.php?action=delete+61709
&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.
php.net/manage/user-notes.php?action=delete+61709&report
=yes&reason=bad+code
Delete: spam -- http://master.php.
net/manage/user-notes.php?action=delete+61709&report=yes
&reason=spam
Delete: useless -- http://master.p
hp.net/manage/user-notes.php?action=delete+61709&report=
yes&reason=useless
Delete: non-english -- http://mast
er.php.net/manage/user-notes.php?action=delete+61709&rep
ort=yes&reason=non-english
Delete: already in docs -- http://
master.php.net/manage/user-notes.php?action=delete+61709&
;report=yes&reason=already+in+docs
Delete: other reasons -- http://master.php.net/manage/user-
notes.php?action=delete+61709&report=yes
Reject -- http://master.php.net/manage/user-
notes.php?action=reject+61709&report=yes
Search -- http://ma
ster.php.net/manage/user-notes.php
--
PHP Notes Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub
.php
|