调整大于可用RAM的图像大小

时间:2016-12-05 17:30:04

标签: php image image-processing gd

我有一个基本的php脚本,可以使用GD动态调整我的(虚拟共享)服务器上的图像,并根据需要提供它们。

不幸的是,在使用more megapixels购买更好的相机后,由于内存不足,脚本会崩溃(我的主机分配约50米,而未压缩的 20Mpix图像已超过此限制)。

请注意,未压缩表示任何加载以下内容之一的图像文件:

imageCreateFromGif($filepath);
imageCreateFromJpeg($filepath);
imageCreateFromPng($filepath);
imageCreateFromBmp($filepath);

因为这些将文件转换为全分辨率的原始图像数据,每个像素为8位,内存为alpha,以便进一步处理。

我可以使用getimagesize()检测图像是否过大并优雅地拒绝加载它,但能够在不破坏RAM限制的情况下处理这些较大的图像会很好。

我能做些什么来解决这个问题吗?

服务器是一个廉价的共享商业托管包,所以我无法对RAM的限制或更改PHP运行时配置或类似的事情做任何事情。

0 个答案:

没有答案