我有一个允许用户上传个人资料图片的网页。
所有这些都使用 jpg,直到大小约为 2MB。但是,较大的文件不会上传到 tmp。
所以我检查了一些设置:
echo 'post_max_size = ' . ini_get('post_max_size') . "'n";
echo 'memory_limit = ' . ini_get('memory_limit') . "'n";
// results in:
post_max_size = 8M
memory_limit = 128M
所以这应该不是问题所在。
我还检查了文件实际上是通过 ajax 发送的,但请求标头包括 Content-Length:2904576
,所以我假设文件(2.9MB)实际上是发送的。此外,我在请求有效负载中有这个:
Content-Disposition: form-data; name="file"; filename="bg.jpg"
Content-Type: image/jpeg
对于较小的文件,我可以看到 tmp 文件很快出现在我的 php 安装的 tmp 文件夹中 - 不适用于失败的较大文件。
这意味着介于两者之间的某些内容正在阻止文件上传。
有人知道我还能检查什么吗?
配置信息:本地 Web 服务器上的本地 php 5.4 (EasyPHP DevServer 14.1.VC11)
我有一个类似的问题,你必须在php中增加两个变量的值.ini(post_max_size和upload_max_filesize)