yii 保持上传php $_FILES错误= 3(部分上传)

jbose2ul  于 2022-11-09  发布在  PHP
关注(0)|答案(2)|浏览(148)

我正在使用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-如果上传时Internet连接丢失。
我还在找其他案子。

hwazgwia

hwazgwia1#

在我的例子中,“部分上传”的问题发生在使用缓慢的互联网连接上传中等/大文件时。
对我有效的解决方案是在httpd.conf文件中设置一些Apache配置:

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

我希望能帮上忙。

x6492ojm

x6492ojm2#

正如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.权限是错误的(我怀疑,因为它会打破所有用户)。
1.服务器上没有足够的可用空间。
1.从iOS上传时发生此错误。
1.上传文件夹时会发生此错误(由于浏览器的限制)。在Mac OSX上,它发生100%。
所以这是可能的错误检查。希望这会有帮助。

相关问题