检查文件是否是任何图像(一般检查) - PHP

时间:2014-02-12 15:28:26

标签: php image image-processing

我当然可以通过exif_imagetypegetimagesize检查mime类型并逐个检查mime类型......但我只想要任何图像 - 我不在乎什么类型......所以我我想知道 - 我能做这样的事情吗??

// PHP manual says: Determine the type of an image
// and that Imagetype Constants are 1-17 so :
$tmp_imagetype = exif_imagetype('image.gif'); 
if ( ($tmp_imagetype>=1) && ($tmp_imagetype<=17) ) {
    echo "It is an image!";
} else{
    echo "It isn't an image.";
}

我能依靠吗?

当文件不是图像时会发生什么?它只会返回非图像常量值,还是会发出警告或错误

由于

3 个答案:

答案 0 :(得分:1)

你真的不需要你只需要以下所有内容,因为exif_imagetype如果不是图像则返回false

if($imagetype = exif_imagetype('image.gif')){
    // its an image
} else {
    // its not an image
}

答案 1 :(得分:1)

您可以检查函数是否返回(确切)FALSE:

$file="SOMEFILE";
if(exif_imagetype($file)===FALSE){
    print("NOT IMAGE");
}else{
    print("IMAGE");
}

答案 2 :(得分:0)

为什么不将所有类型的图像放入数组中,然后使用以下代码进行检查:

if(in_array($value, $array)) {
   //it's an image! Hooray!
}else {
  //it's not.
}