2017-09-26 134 views
0

我正在嘗試檢查用戶輸入的鏈接是否爲有效圖像。我試圖通過使用函數getimagesize()來做到這一點,然後如果函數拋出一個錯誤,那麼它不是一個有效的圖像。檢查圖像是否有效顯示

出於某種原因,try-catch語句不起作用。我試圖使用功能file_exist(),但是當我輸入一個正常的圖像鏈接,它說它不是一個有效的圖像。我怎樣才能解決這個問題?

嘗試1:

if ($link and file_exists($link)) 
{ 
    echo "valid image!" 
} 

嘗試2:

$link = $_POST['link']; 
try 
{ 
    getimagesize($link); 
} 
catch(Exception $e) 
{ 
    echo "worng image! enter again link."; 
} 
+1

在你的'if'子句中添加'isset'檢查,而不僅僅是'$ link';所以'if(isset($ link)...)' – Samuel

回答

2

不在PHP所有功能產生異常。其中很多,包括getimagesize,都會產生錯誤。該文件會告訴你在「返回值」和「錯誤/例外」部分:https://secure.php.net/manual/en/function.getimagesize.php

相反,你應該檢查的getimagesize返回值 - 如果它是FALSE,那麼它失敗了。否則,你會得到一個數組。