PHP使用exif_imagetype()检查文件是否为png:

时间:2017-04-27 19:47:25

标签: php image png

我试图在上传之前检查文件是否为png并且收到错误 警告:exif_imagetype():文件名不能为空

由于某种原因,它似乎与一个文件一起使用,但与我尝试过的任何其他文件无关。

主要是

     a != nil ? a! : b

checkImageValid函数是

$image = $_FILES['userImg']['tmp_name'];

if (checkImageValid($image))
{
    uploadImage($image);
}

从html表格中获取

function checkImageValid($image)
{

    $valid = true;

    $imgType = exif_imagetype($image);  //error here

    if($imgType != IMAGETYPE_PNG)
    {
       $valid = false;
       $_SESSION["imageMessege"] = 'The image You are trying to upload is not of type png';
    }

    return $valid;        
}

1 个答案:

答案 0 :(得分:2)

<input type="hidden" name="MAX_FILE_SIZE" value="10000" />

是错误吗?将值更改为更多,以字节为单位。 10000字节= ~10kb。改为10000000,约10MB。

用以下代码替换:

<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />

我测试了它,对任何图像都适用。