PHP getimagesize():IMAGETYPE还是MIME类型?

时间:2012-06-08 15:45:58

标签: php image-processing getimagesize

我有一个简单的图像大小调整脚本,适用于JPEG,但不适用于GIF或PNG。第一步是获取正确的图像类型,以便我可以相应地处理它。

我的问题是:getimagesize()似乎同时返回IMAGETYPE和MIME类型......那么我应该使用哪个来确定想象是JPEG,PNG还是GIF?

PHP给你提供了两种方法,这似乎很奇怪,所以我认为每种方法都有它们的指定用途?

3 个答案:

答案 0 :(得分:2)

这主要是为了方便,但在某些情况下,多个IMAGETYPE对应于相同的MIME类型。例如,IMAGETYPE_JPCIMAGETYPE_JPXIMAGETYPE_JB2都具有MIME类型application/octet-stream

要确定想象是JPEG,PNG还是GIF,您可以使用其中任何一个,但我通常会使用IMAGETYPE。

答案 1 :(得分:1)

文档说:

  

mime是图像的对应MIME类型。这个信息可以   用于使用正确的HTTP Content-type标头传送图像

我相信IMAGETYPE是有效的选择。

答案 2 :(得分:0)

我不确定你的问题是否足够清楚,但为什么不能使用简单的IF语句来检查图像类型呢?

例如,我可以在一行中检查3种基本的哑剧类型和图像大小,即:

if ( (($_FILES["file"]["type"] == "image/gif") || 
     ($_FILES["file"]["type"] == "image/jpeg") || 
     ($_FILES["file"]["type"] == "image/png")) && 
     ($_FILES["file"]["size"] < 1000000) )
{    
// your re-size script    
} else {     
echo "Wrong image mime type!";   
}

这是mime类型列表:http://www.php.net/manual/en/function.mime-content-type.php#87856