2012-05-24 119 views
3

我不知道是否有可能有一個if語句是這樣的:PHP的file_get_contents返回錯誤

if file_get_contents() returns error code xxx OR xxx 
    die(); 

我不知道如何檢查file_get_contents()返回一個錯誤。

回答

5

http://php.net/file_get_contents

該函數返回的讀取數據或FALSE的失敗。

它要麼工作,要麼不,因爲這樣的:

$file = file_get_contents(...); 
if ($file === false) { 
    die(); 
} 

PS:當然,在上面的答案我希望你用file_get_contents獲得一個本地文件的內容。如果您試圖獲取遠程URL的HTTP狀態碼,我建議您使用cURL或類似的專用HTTP庫並解析響應頭。

+1

嗯,我試圖讓遠程JSON文件,但我相信上面的代碼仍然可以工作,我並不需要一個特定代碼,就像你說的那樣,它可以工作,也可以不工作。 – Archey

1

隨着php docs狀態,file_get_contents()將所有錯誤返回false,因此,所有你能做的就是

if ($content=file_get_contents($filename)===false) die("Error reading file $filename"); 
0

,你可以調用它的方法:

$data = file_get_contents("http://site.com/that.php"); 
if ($data !== FALSE) { 
    // analyze data 
}