我想对用户上传的图像设置一些限制,因此处理它们的脚本永远不会耗尽内存。
占用更多内存的图像是分辨率更高的图像。它们不需要具有大字节的大小。例如,分辨率为4000x2500的46kb图像和一些透明胶片(PNG)大约需要90mb才能调整大小。
有没有办法准确预先计算所需的内存?
有什么想法吗?
答案 0 :(得分:3)
通常,经验法则是源图像和目标图像的宽度x高度x 4(rgba),并且不要忘记脚本本身已经消耗的内存量。
答案 1 :(得分:0)
文件上传后使用GD库,您可以使用getimagesize()。然后,您可以检查高度和宽度以确定是要处理它还是返回错误,如果您想要考虑这一点,它还会返回每种颜色使用的位数。
因此,您的验证可以是文件大小和尺寸。