我有一个简单的图像大小调整脚本,适用于JPEG,但不适用于GIF或PNG。第一步是获取正确的图像类型,以便我可以相应地处理它。
我的问题是:getimagesize()似乎同时返回IMAGETYPE和MIME类型......那么我应该使用哪个来确定想象是JPEG,PNG还是GIF?
PHP给你提供了两种方法,这似乎很奇怪,所以我认为每种方法都有它们的指定用途?
答案 0 :(得分:2)
这主要是为了方便,但在某些情况下,多个IMAGETYPE对应于相同的MIME类型。例如,IMAGETYPE_JPC
,IMAGETYPE_JPX
和IMAGETYPE_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