0

当我尝试上传超过 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'));
          }
 }
4

2 回答 2

2

您还应该检查 php.ini 文件中变量 post_max_size 的配置。

在 PHP 文档中:常见的陷阱

如果 post_max_size 设置得太小,则无法上传大文件。确保将 post_max_size 设置得足够大。

于 2012-05-24T00:48:16.703 回答
0

正如php 文档MAX_FILE_SIZE所说,您需要在实际文件之前发送一个带有名称的(通常是隐藏的)字段。虽然理论上即使 4MB 没有它也不应该工作,但这可能是一些硬编码的默认值。

使用上述 PHP 文档页面的示例表单作为起点。

于 2012-05-24T00:29:40.643 回答