【问题标题】:Inserting image to temporary file将图像插入临时文件
【发布时间】:2017-02-26 16:31:22
【问题描述】:

我已经完成了将图像插入临时文件的编码。我可以上传大小低于 5mb 的图片,但有些图片无法插入,我想知道为什么。有人可以告诉我我在下面的编码中做错了什么吗?

$imgFile = $_FILES['user_image']['name'];
$tmp_dir = $_FILES['user_image']['tmp_name'];
$imgSize = $_FILES['user_image']['size'];

$upload_dir = 'user_images/'; // upload directory

$imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension

// valid image extensions
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions

// rename uploading image
$userpic = rand(1000,1000000).".".$imgExt;

// allow valid image file formats
if(in_array($imgExt, $valid_extensions)){           
    // Check file size '5MB'
    if($imgSize < 5000000)              {
        move_uploaded_file($tmp_dir,$upload_dir.$userpic);
    }
    else{
        $errMSG = "Sorry, your file is too large.";
    }
}
else{
    $errMSG = "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";        
}

编辑

我发现大小为&gt; 2MB 的图像无法移动到临时文件,但它通过了if($imgSize &lt; 5000000) 行。我该如何解决这个问题?

【问题讨论】:

  • 您是否遇到任何错误?你的php.ini 配置是什么??
  • @Jadeye 我没有收到任何错误

标签: php image file-upload temporary-files


【解决方案1】:

我发现这是由php.ini 中的设置引起的,其中upload_max_filesize 设置为2M。我希望这对面临与我相同问题的其他人有用。转到您的 php.ini 并查看 文件上传 部分并找到 upload_max_filesize = 2M 行。将2M更改为符合您要求的任何大小并重新启动所有服务:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    相关资源
    最近更新 更多