当我尝试使用带有标头的 HTTP 帖子上传文件时,Content-Type: multipart/form-data; boundary=-----NPRequestBoundary-----
一切都按预期工作,但尝试使用Content-Type: multipart/form-data; boundary=-----NPRequestBoundary-----; charset=UTF-8
导致完全空白的 $_FILES 数组。
是PHP还是Web服务器的问题?据我所知,这种形式Content-Type
是有效的。
问问题
2198 次
3 回答
1
因为Content-Type
is multipart/form-data
,这意味着它是由部分组成的,每个部分都可以有自己的Content-Type
。charset 参数仅与text/plain
内容类型一起使用。所以它对multipart/form-data
内容类型毫无意义。
于 2012-01-27T03:32:25.757 回答
1
错误已在 SVN rev 中修复。#316373(5.3.9 版本涵盖了它)。
于 2013-10-17T12:03:03.987 回答
0
我找到了解决此问题的肮脏解决方法。对我来说,它是 ofc 临时 bcs,它在 litespeed 下不起作用(我使用反向代理到 apache 来避免这个问题)。
<Location "/upload.php">
RequestHeader set Content-Type "multipart/form-data; boundary=-----NPRequestBoundary-----"
</Location>
它将强制网络服务器替换内容类型标头。现在我确定 - 这是一个 PHP 错误(有人认为 charset 会在之前发生boundary=
)
于 2012-01-27T12:39:09.937 回答