继续上传php $ _FILES错误= 3(部分上传)

时间:2014-08-24 20:02:07

标签: php file-upload yii yii-extensions dropzone.js

我正在使用yii框架的dropzone扩展来上传注册用户的一些文件。一切运作良好,但有些用户对于他们尝试上传的某些文件,返回错误= 3,当上传的文件只是部分上传时,就会发生这种情况。

$file_error = $_FILES['Project']['error']['file'];
if ($file_error != 0) {
            mail('myemail@gmail.com', 'fileError',json_encode($_FILES['Project']));
}

我收到了很多来自此功能的电子邮件

收到JSON

{"name":{"file":"3.jpg"},"type":{"file":""},"tmp_name":{"file":""},"error":{"file":3},"size":{"file":0}}

如何调试此错误并了解导致此错误发生的情况?

发生此错误 1-如果用户在上传时刷新页面。 2-如果用户取消上传(我的网站中没有取消选项)。 3-如果上传时互联网连接丢失。

我还在寻找其他案例。

2 个答案:

答案 0 :(得分:2)

在我的情况下,使用缓慢的Internet连接上传中/大文件时发生了“部分上传”问题。

最适合我的解决方案是在httpd.conf文件中设置了一些Apache配置:

TimeOut 300
KeepAliveTimeout 10
RequestReadTimeout handshake=0 header=20-1200,MinRate=200 body=20,MinRate=200

希望对您有帮助。

答案 1 :(得分:0)

正如php文档所说,这个错误是

UPLOAD_ERR_PARTIAL is given when the mime boundary is not found after the file data. A possibly cause for this is that the upload was cancelled by the user (pressed ESC, etc).

还有一些要检查的变种:

  1. 权限有误(我怀疑,因为它会破坏所有用户)。

  2. 服务器上的可用空间不足。

  3. 从iOS上传时出现此错误。

  4. 上传文件夹时可能会出现此错误(由于浏览器限制)。在Mac OSX上,它发生了100%。

  5. 所以这可能是要检查的错误。希望这会有所帮助。