我有一個簡單的圖片大小調整腳本,適用於JPEG,但不適用於GIF或PNG。第一步是獲取正確的圖像類型,以便我可以相應地處理它。PHP getimagesize():IMAGETYPE或MIME類型?
我的問題是:似乎getimagesize()返回IMAGETYPE和MIME類型......那麼我應該使用哪個來確定想象是JPEG,PNG還是GIF?
看起來很奇怪PHP給你兩種這樣做的方式,所以我認爲他們每個人都有自己的指定用途?
我有一個簡單的圖片大小調整腳本,適用於JPEG,但不適用於GIF或PNG。第一步是獲取正確的圖像類型,以便我可以相應地處理它。PHP getimagesize():IMAGETYPE或MIME類型?
我的問題是:似乎getimagesize()返回IMAGETYPE和MIME類型......那麼我應該使用哪個來確定想象是JPEG,PNG還是GIF?
看起來很奇怪PHP給你兩種這樣做的方式,所以我認爲他們每個人都有自己的指定用途?
文檔說:
MIME是通訊員MIME類型的圖像。該信息可以用 傳遞正確的HTTP內容類型標頭的圖像
我相信IMAGETYPE是有效的選擇。
這在很大程度上是爲了方便,雖然有些情況下多個IMAGETYPE對應相同的MIME類型。例如,IMAGETYPE_JPC
,IMAGETYPE_JPX
和IMAGETYPE_JB2
都具有MIME類型application/octet-stream
。
要確定想象是JPEG,PNG還是GIF,您可以使用其中任何一種,但我通常會使用IMAGETYPE。
我不確定你的問題是否足夠清楚,但爲什麼不能使用簡單的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