我正在将 ImageMagick 库用于我正在编写的图像压缩脚本。由于它应该在单独的文件夹中处理大量图像,因此我在内存分配方面遇到了一些麻烦。
如果默认内存限制不足以处理图像,有没有办法分配更多内存?
注意:我不想在脚本运行之前设置限制。
我找到了一个看起来运行良好的原始解决方案。在查阅了php手册后,我写了这段代码来实现动态内存分配任务。这是代码:
注意:memInfo 函数片段取自 php 手册页上关于该memory_get_usage()
页面的评论
<?php
if( memInfo(memory_get_usage(true)) > '128MB' ){
ini_set('memory_limit', '256M');
}
function memInfo( int $size ){
$unit = ['B','KB','MB','GB','TB','PB'];
return @round( $size / pow(1024, ($i = floor(log($size,1024)))),2).$unit[$i];
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句