2012-06-08 148 views
1

我有一個簡單的圖片大小調整腳本,適用於JPEG,但不適用於GIF或PNG。第一步是獲取正確的圖像類型,以便我可以相應地處理它。PHP getimagesize():IMAGETYPE或MIME類型?

我的問題是:似乎getimagesize()返回IMAGETYPE和MIME類型......那麼我應該使用哪個來確定想象是JPEG,PNG還是GIF?

看起來很奇怪PHP給你兩種這樣做的方式,所以我認爲他們每個人都有自己的指定用途?

回答

1

文檔說:

MIME是通訊員MIME類型的圖像。該信息可以用 傳遞正確的HTTP內容類型標頭的圖像

我相信IMAGETYPE是有效的選擇。

2

這在很大程度上是爲了方便,雖然有些情況下多個IMAGETYPE對應相同的MIME類型。例如,IMAGETYPE_JPC,IMAGETYPE_JPXIMAGETYPE_JB2都具有MIME類型application/octet-stream

要確定想象是JPEG,PNG還是GIF,您可以使用其中任何一種,但我通常會使用IMAGETYPE。

0

我不確定你的問題是否足夠清楚,但爲什麼不能使用簡單的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