PHP文件上传停止

时间:2012-06-13 14:47:51

标签: php image memory upload

对于客户端,我构建了一个简单的脚本,可以上传多个文件(图像),调整大小,将它们存储在临时文件夹中,然后再将它们移动到目的地。

调整大小是使用PHP的GD完成的,因为Imagick不可用。

这些图片大约是2/4 MB,客户端一次上传大约30张图片。 我使用HTML5的multiple =“”属性,一切正常。

在测试中一切正常,因为我使用的是Windows标准壁纸图像。

我找不到问题的根源。 当上传超过1个图像时,脚本错误调试告诉我它上传第二个图像但不会调整大小。

我检查了每个大概 105724352字节的图像的内存使用情况。

我的PHP ini设置:

max_execution_time = 300     
max_input_time = 600    
memory_limit = 200M      

所以你看到第二张图片的内存达到了极限,让我的脚本停止了。这是对的吗?

如果是这样,升级内存限制有多明智?

提前致谢!

修改

现在看来GD函数imagecreatefromjpeg无法处理分辨率大于3500px宽的文件,我的文件大于5000px宽。

有没有人为此工作? 在这一点上,我想知道如果将客户端放在共享主机上是否明智,如果他需要这么多内存来存储这些图像。

1 个答案:

答案 0 :(得分:3)

  

所以你看到第二张图片的内存达到了极限,让我的   脚本停止。这是对的吗?

检查(** nix系统)/var/log/apache2/error.log下的Apache错误日志,看看它是否真的出问题。

  

如果是这样,升级内存限制有多明智?

您不应该在一个脚本中进行多个图像操作。对每个进行ajax查询,在单独的实例中处理它们。