无法上传高度超过2000像素的图片

时间:2016-06-07 12:00:05

标签: php html image-uploading image-upload

我正在为网站创建一个简单的内容管理系统,我想上传两个图像,一个是缩略图,另一个是1920 x 5036像素。 我有这个:
HTML(upload.html):

<form action="upload.php" method="post" enctype="multipart/form-data">
    <p>Pictures:
        <input type="file" name="img[]" />
        <input type="file" name="img[]" />
        <input type="submit" value="Send" />
    </p>
</form>


PHP(upload.php):

$uploaddir = 'images/';
foreach ($_FILES["img"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK){
        $tmp_name = $_FILES["img"]["tmp_name"][$key];
        $name = $_FILES["img"]["name"][$key];
        move_uploaded_file($tmp_name, "images/$name");
    }
}


的php.ini:

  

memory_limit的= 500M
  max_input_time设置= 300
  的post_max_size = 40M
  的upload_max_filesize = 10M
  max_file_uploads = 10


我上传的第一张图片有下一个规格:
名称:project02_thumb
1900 x 1307 px
1.69 MB

该图像上传,并移动到正确的文件夹。


第二张图片规格:
名称:project02
1920 x 5036 px
3.19 MB

  

第二张图片永远不会上传。我还能做些什么?

我屏幕上没有任何错误。

  

解决方案

问题不在于高分辨率图像。
我必须将 upload_max_filesize post_max_size 更改为 40M 在所有PHP.INI文件中。
使用xampp v3.2.2
在C:\ xampp \ php中有3个带有php.ini名称的文件。


的php.ini
的php.ini-发展
php.ini中生产

3 个答案:

答案 0 :(得分:0)

HTML表格:

<input name="files[]" type="file" multiple="multiple" />

PHP脚本:

set_time_limit(0);

error_reporting(E_ALL); //testing purpose

$total = count($_FILES['files']['name']); //count files

for($i=0; $i<$total; $i++) { //loop each file

  $tmp_loc = $_FILES['files']['tmp_name'][$i]; //get temp path


  if ($tmp_loc!= ""){

    $new_loc = "./<<directory>>/" . $_FILES['files']['name'][$i]; //setup new location


    if(move_uploaded_file($tmp_loc, $new_loc)) //move file temp dir to new location

    }
  }
}

答案 1 :(得分:0)

使max_input_time = -1,即更多时间限制

答案 2 :(得分:0)

也许是max_execution_time
这将设置允许脚本在解析器终止之前运行的最长时间(以秒为单位) 默认值由30

设置