Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP getimagesize():IMAGETYPE还是MIME类型?_Php_Image Processing_Getimagesize - Fatal编程技术网

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

PHP getimagesize():IMAGETYPE还是MIME类型?,php,image-processing,getimagesize,Php,Image Processing,Getimagesize,我有一个简单的图像大小调整脚本,适用于JPEG,但不适用于GIF或PNG。第一步是获得正确的图像类型,以便我可以相应地处理它 我的问题是:getimagesize()似乎同时返回IMAGETYPE和MIME类型。。。那么,我应该使用哪一种来确定图像是JPEG、PNG还是GIF PHP为您提供了两种实现这一点的方法,这似乎很奇怪,因此我认为它们都有各自的指定用途?文档中说: mime是图像的对应mime类型。这些信息可以 用于传递具有正确HTTP内容类型标头的图像 我相信IMAGETYPE是一个有

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

我的问题是:getimagesize()似乎同时返回IMAGETYPE和MIME类型。。。那么,我应该使用哪一种来确定图像是JPEG、PNG还是GIF


PHP为您提供了两种实现这一点的方法,这似乎很奇怪,因此我认为它们都有各自的指定用途?

文档中说:

mime是图像的对应mime类型。这些信息可以 用于传递具有正确HTTP内容类型标头的图像


我相信IMAGETYPE是一个有效的选择。

这主要是为了方便起见,尽管在某些情况下,多个IMAGETYPE对应于相同的MIME类型。例如,
IMAGETYPE\u JPC
IMAGETYPE\u JPX
IMAGETYPE\u JB2
都具有MIME类型
应用程序/八位字节流


要确定图像是JPEG、PNG还是GIF,您可以使用其中任何一种,尽管我通常会选择IMAGETYPE。

我不确定您的问题是否足够清楚,但为什么不能先使用simple if语句检查图像类型

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

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!";   
}
if(($_FILES[“file”][“type”]=“image/gif”)|
($_文件[“文件”][“类型”]=“图像/jpeg”)|
($_FILES[“file”][“type”]=“image/png”)&&
($_文件[“文件”][“大小”]<1000000))
{    
//重新调整脚本大小
}否则{
echo“错误的图像mime类型!”;
}
以下是mime类型列表: