当我尝试上传大约4mb的图像时,$ _FILES ['upload'] ['error']返回1并且文件不会上传。但在我的php.ini中,我将upload_max_filesize设置为20mb ....
为什么我收到错误?
用于检查错误的PHP代码
if ($_FILES['upload']['error']) {
array_push($not_uploaded, $_FILES['upload']['name']);
if ($_FILES['upload']['error'] == 1) {
trigger_error('Iimage exceeded server php upload limit', E_USER_WARNING);
array_push($error_msgs, elgg_echo('services:image_mem'));
} else {
array_push($error_msgs, elgg_echo('services:unk_error'));
}
}
答案 0 :(得分:2)
您还应该检查php.ini文件中变量post_max_size的配置。
在PHP文档中:Common Pitfalls
如果post_max_size设置得太小,则无法上传大文件。 确保将post_max_size设置得足够大。
答案 1 :(得分:0)
正如php docs所说,您需要在实际文件之前发送名称为MAX_FILE_SIZE
的(通常是隐藏的)字段。虽然理论上即使没有它也不能使用4MB,但这可能是一些硬编码的默认值。
使用上述PHP文档页面的示例表单作为起点。