有没有办法来防止PHP GD image library内存不足?如果上传的图片太大,GD往往会耗尽内存,终止脚本。我希望它能够抛出一个可捕获的异常或其他类似的东西,但事实并非如此。防止GD图像库耗尽内存的故障安全方式? (PHP)
现在我使用的是拼凑在一起的脚本,首先发出ini_set('memory_limit', '128M')
,如果工作我通常都集。尽管这可能是不可能的,但根据服务器配置的不同,所以我又回到了一种试图估算所需内存量(考虑分辨率,颜色深度,通道和模糊因素)的算法,然后将其与如果函数存在,则返回memory_get_usage()
,否则进行粗略估计。
整个事情的工作,到目前为止,但它优雅的远,并会在一些边缘的情况下失败了,我敢肯定。有没有更好的方法来做到这一点,即如果GD必须要优雅地失败,而不是一切都停下来?
大JPEG图像(非PNG或其他类型的)可以调整负荷的同时,看到这个答案的详细信息:http://stackoverflow.com/questions/12661/efficient-jpeg-image-resizing- in-php/4613341#4613341 – 2011-01-06 09:43:42