UPLOAD_ERR_PARTIAL当文件仅部分上传时,PHP可能会生成错误,并且我不确定在这种情况下应该使用哪个HTTP状态代码.
如果用户取消上传,通常会发生这种情况(请参阅为什么文件只能部分上传,php.net上的文件上传错误)
当在文件数据之后找不到mime边界时给出UPLOAD_ERR_PARTIAL.可能的原因是用户取消了上传(按ESC等).
我制作了一个包含一些字段(名称,标题等)的表单,其中包括将图片存储在我的mysql数据库中的图像上传。
当我第一次提交表单时,我收到了我所有的帖子数据,并且能够使用帖子数据来构建数据库查询。
发布数据如下所示:
["option"]=>
string(9) "com_jimmo"
["jform"]=>
array(6) {
["id"]=>
string(0) ""
["lang_code"]=>
string(5) "nl-NL"
["title"]=>
string(0) ""
["jimmo_id"]=>
string(3) "141"
["path"]=>
string(0) ""
["featured"]=>
string(1) "0"
}
["task"]=>
string(11) "image.apply"
["controller"]=>
string(5) "image"
["244dd7871d511949f4cf87df21403258"]=>
string(1) "1"
Run Code Online (Sandbox Code Playgroud)
当我再次发布完全相同的表格时,正好在上一个表格之后。很多Post数据丢失了,我只收到了它(jform ['featured']之后的所有post变量都丢失了):
["option"]=>
string(9) "com_jimmo"
["jform"]=>
array(6) {
["id"]=>
string(0) ""
["lang_code"]=>
string(5) "nl-NL"
["title"]=>
string(0) ""
["jimmo_id"]=>
string(3) "141"
["path"]=>
string(0) ""
["featured"]=>
string(1) "0"
}
Run Code Online (Sandbox Code Playgroud)
如果我一遍又一遍地重新发布同一表格,则数据仍然丢失。但是,当我等待一分钟,然后再试一次,所有的发布数据都回来了。
对我来说,这似乎是一个内存问题,但我无法查明。我发布的图像只有700KB大,并且对于网络服务器上的以下php设置,其他变量和图像组合不应太大: