检查文件是否是任何图像(常规检查)- PHP



我当然可以通过exif_imagetype或getimagesize检查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.";
}

我可以依靠吗?

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

谢谢

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

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

您可以检查函数是否(完全)返回 FALSE:

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

你为什么不把所有类型的图像放在一个数组中,然后用下面的代码检查它:

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

最新更新