检测上传失败

时间:2010-07-28 13:25:59

标签: php file-upload

在PHP中是否可以检测因文件大小而导致上载失败的时间。我知道upload_max_filesize和post_max_size并将它们设置为我想要的但如果用户没有看到我的文件大小限制(以红色显示)并上传大文件则不会显示错误。只需要很长时间。

我有<input type="hidden" name="MAX_FILE_SIZE" value="20000000" />我认为在发送之前告诉浏览器检查但我猜不是。 (至少在Firefox上)

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:2)

您可以通过$ _FILES ['file'] ['error']检查upload_max_fillesize,但仅限于未触发post_max_size。在第二种情况下,您可以通过某种方式标记尝试发送文件,例如通过向表单的操作添加参数,例如&amp; filesended = 1。如果您看到filesended已设置,但$ _POST全局数组为空,则表示用户达到了帖子大小限制。

答案 2 :(得分:0)

问题在于:PHP在上传完成之前甚至没有机会启动;因此,无论如何上传都会“花费很长时间”,只有在upload_max_filesize被应用之后才会上传。

在上传完成之前无法检查文件大小 - 即客户端上的JavaScript(并且浏览器不会为您执行此操作);你最好的选择就像上传一样 - 它是基于Flash的,我相信在开始上传之前可以选择检查文件大小。