我有一个简单的图像大小调整脚本,适用于JPEG,但不适用于GIF或PNG。第一步是获得正确的图像类型,这样我就可以相应地处理它。
我的问题是: getimagesize()似乎同时返回IMAGETYPE和MIME-type……那么,我应该使用哪个来确定imagine是JPEG、PNG还是GIF?
似乎很奇怪,PHP提供了两种方法来实现这一点,所以我假设它们各有其特定的用途?
发布于 2012-06-08 23:48:53
文档显示:
mime是图像的对应MIME类型。此信息可用于传递具有正确HTTP内容类型标头的图像
我相信IMAGETYPE是正确的选择。
发布于 2012-06-08 23:53:55
这在很大程度上是为了方便,尽管在某些情况下,多个IMAGETYPE对应于同一MIME类型。例如,IMAGETYPE_JPC、IMAGETYPE_JPX和IMAGETYPE_JB2都有MIME类型application/octet-stream。
要确定imagine是JPEG、PNG还是GIF,您可以使用这两种格式中的任何一种,尽管我通常使用IMAGETYPE。
发布于 2012-06-09 00:09:40
我不确定你的问题是否足够清楚,但为什么你不能先使用简单的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!";
}下面是mime类型列表:http://www.php.net/manual/en/function.mime-content-type.php#87856
https://stackoverflow.com/questions/10952044
复制相似问题