系統會定時從一些網站的指定目錄擷取圖片,這些圖片不一定存在。
那麼問題來了:各網站由於Web伺服器和其配置大不相同,可能存在以下幾種情況:
1.圖片存在,返回 200 - OK
;
2.圖片不存在,返回 404 - Not Found
;
3.圖片存在,但是可能由於防火牆等原因,返回的不一定為圖片資訊;
4.圖片不存在,但是可能由於安全狗等原因,返回的是狀態代碼為 200
,頁面內容中包含或不包含 404
字樣;
那麼,有沒有一種方法可以判斷字串是否為真實的圖片?
回複內容:
系統會定時從一些網站的指定目錄擷取圖片,這些圖片不一定存在。
那麼問題來了:各網站由於Web伺服器和其配置大不相同,可能存在以下幾種情況:
1.圖片存在,返回 200 - OK
;
2.圖片不存在,返回 404 - Not Found
;
3.圖片存在,但是可能由於防火牆等原因,返回的不一定為圖片資訊;
4.圖片不存在,但是可能由於安全狗等原因,返回的是狀態代碼為 200
,頁面內容中包含或不包含 404
字樣;
那麼,有沒有一種方法可以判斷字串是否為真實的圖片?
array getimagesize ( string $filename [, array &$imageinfo ] )
可以使用getimagesize()
函數,如果不能訪問 filename 指定的映像或者其不是有效映像,getimagesize() 將返回 FALSE 併產生一條 E_WARNING 級的錯誤。
getimagesize — 取得映像大小
文檔地址:http://php.net/manual/zh/function.getimagesize.php
你可以嘗試一下:
print_r(exif_imagetype("http://www.baidu.com/img/baidu_jgylogo3.gif"));
以下是映像類型常量:
1 IMAGETYPE_GIF
2 IMAGETYPE_JPEG
3 IMAGETYPE_PNG
4 IMAGETYPE_SWF
5 IMAGETYPE_PSD
6 IMAGETYPE_BMP
7 IMAGETYPE_TIFF_II(Intel 位元組順序)
8 IMAGETYPE_TIFF_MM(Motorola 位元組順序)
9 IMAGETYPE_JPC
10 IMAGETYPE_JP2
11 IMAGETYPE_JPX
12 IMAGETYPE_JB2
13 IMAGETYPE_SWC
14 IMAGETYPE_IFF
15 IMAGETYPE_WBMP
16 IMAGETYPE_XBM