什麼是最好的和最快的方式來檢查圖像是否在PHP中有效? 我需要它能夠檢查GIF,JPG以及PNG圖像。什麼是檢查圖像在PHP中是否有效的最好和最快的方法?
回答
我猜getimagesize
:
list($width, $height, $type, $attr) = getimagesize("path/to/image.jpg");
if (isset($type) && in_array($type, array(
IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF))) {
...
}
閱讀文檔:不要使用getimagesize()來檢查給定的文件是否是有效的圖像。 http://php.net/manual/en/function.getimagesize.php –
我使用這個函數...它檢查網址太
function isImage($url){
$params = array('http' => array(
'method' => 'HEAD'
));
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp)
return false; // Problem with url
$meta = stream_get_meta_data($fp);
if ($meta === false){
fclose($fp);
return false; // Problem reading data from url
}
}
是的,你是對的...添加括號。 –
exif_imagetype是一個更好的解決方案。
該方法比使用getimagesize更快。引用php.net「返回值與getimagesize()在索引2中返回的值相同,但exif_imagetype()更快。」
if(exif_imagetype('path/to/image.jpg')) {
// your image is valid
}
當然這隻有在啓用EXIF擴展時纔有效。在我的情況下,情況並非如此,我無法控制這:( –
我用這個:
function is_image($path)
{
$a = getimagesize($path);
$image_type = $a[2];
if(in_array($image_type , array(IMAGETYPE_GIF , IMAGETYPE_JPEG ,IMAGETYPE_PNG , IMAGETYPE_BMP)))
{
return true;
}
return false;
}
exif_imagetype比和getimagesize快得多,並且不使用GD-庫(留下一個更精簡MEM足跡)
function isImage($pathToFile)
{
if(false === exif_imagetype($pathToFile))
return FALSE;
return TRUE;
}
「請勿使用getimagesize()來檢查給定文件是否爲有效圖像。請使用ap改爲使用構建解決方案,如Fileinfo擴展。「
下面是一個例子:
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$type = finfo_file($finfo, "test.jpg");
if (isset($type) && in_array($type, array("image/png", "image/jpeg", "image/gif"))) {
echo 'This is an image file';
} else {
echo 'Not an image :(';
}
- 1. 檢查圖像是否爲圖像的最有效方法PHP
- 2. 什麼是檢查文件是否改變的最快方法?
- 3. 最好的方法來檢查一個URL是否有效
- 4. 以編程方式檢查年份是否最有效的方法是什麼
- 5. 什麼是最有效的方法來檢查項目是否存在Arraylist?
- 6. 檢查存在ExecuteScalar結果的最有效方法是什麼?
- 7. 檢查所有字段是否有效的最佳方法是什麼?
- 8. 在Python中檢查重複項的最快方法是什麼?
- 9. 什麼是檢查用戶是否登錄的最有效的方法?
- 10. 什麼是檢查svn工作副本是否有變化的最快方法?
- 11. 從NSString中抽取數字的最快和最有效的方法是什麼?
- 12. 在Windows.Forms中繪製圖像的最快方法是什麼?
- 13. 在C中旋轉bmp圖像的最快方法是什麼?
- 14. 在psd中提取圖像的最快方法是什麼?
- 15. 什麼是使用PHP檢查圖像是否唯一的好方法?
- 16. 什麼是檢查PDO是否存在的最佳方法
- 17. 什麼是最好的方法有URL
- 18. 在圖像上檢查500個錯誤時最好的方法是什麼?
- 19. 什麼是最有效的JavaScript語法檢查解決方案?
- 20. 在VBA(excel)中循環行的最有效/最快的方法是什麼?
- 21. 檢查兩幅圖像是否相同的最簡單方法是什麼?
- 22. 您最喜歡的方法是檢查HTML COLOR是否有效?
- 23. 什麼是檢查mongodb文檔存在的最快方法?
- 24. 什麼是最好的方法上傳隊列中的圖像
- 25. 算法:什麼是檢查集合包含的最快方法?
- 26. 在PHP中生成UUID的最有效方法是什麼?
- 27. 什麼是最快和最準確的方式來檢查網站/ URL是否存在..捲曲或PHP?
- 28. 在Android UI中旋轉和顯示圖像的最有效方法是什麼?
- 29. 這是檢查DyanmoDB表是否存在的最好方法嗎?
- 30. 在PHP郵件中嵌入圖像的最輕量和最有效的方法是什麼?
你所說的 「有效」 是什麼意思?檢查圖像文件格式是否正確? –