我该如何去处理一个理智的方式来处理超过post_max_size
的http上传?如何检测用户上传的文件是否大于post_max_size?
在我的配置post_max_size
是几MB大于upload_max_filesize
我遇到的问题是:
如果用户上传文件超过post_max_size
- 的_POST数组为空
- 的_FILES数组是空的,当然其中的任何错误代码都不存在。
- 没有其他信息通过这些手段可以访问哪种形式的帖子。
部分问题是接收脚本根据POST的内容采取不同的操作。
我确实可以使用_SERVER
变量,并且可以获得关于发生了什么的线索,即CONTENT_TYPE
,CONTENT_LENGTH
和REQUEST_METHOD
。然而,根据这些内容进行猜测似乎很成问题。发现MEMORY_LIMIT(设置为相关尺寸的10倍)并且Apaches LimitRequestBody(设置为无限制)被发现没有错。
就目前而言,即使向用户提供任何有意义的消息,我也很难。
有什么方法可以保留一些表单数据,以获得更好的线索,看看出了什么问题?我非常不愿意离开php。
要清楚,我会在@King Skippus的答案中引用类似的内容。即使用此客户端解决方案让人们开心,然后查找服务器端的空邮件并采取相应措施。 – Matthew 2011-05-31 17:18:32
这很有用。我主要担心的是无法以适当的方式通知我的用户。任何关于当前浏览器支持的想法? – 2011-05-31 17:20:16
@Captain长颈鹿,我认为每个非IE浏览器的常见使用允许你通过JavaScript来检查文件大小,但我并不确定。 (再一次,它会优雅地降级,所以使用它作为解决方案的一部分没有任何坏处。)另外,请参阅我的编辑以查看是否发生上传问题。 – Matthew 2011-05-31 17:25:48