2014-07-11 83 views
0

我想通過fopen()函數打開遠程文件時獲取HTTP錯誤代碼。PHP:獲取fopen()HTTP響應錯誤代碼

我有以下代碼:

$remote = fopen ($url, "rb"); 

如果URL是好的,該文件將被打開。否則,fopen將觸發類似於Warning: fopen(url): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found的錯誤消息。

我知道加入@fopen()suppress the error message
?我怎樣才能HTTP錯誤代碼,而不是之前?

在這裏,我想在變量中獲得HTTP/1.1 404 Not Found

謝謝。

回答

1

$http_response_header將返回響應頭。
所以你可以通過使用$http_response_header[0]得到第一行,在這種情況下,它將完全是HTTP/1.1 404 Not Found

$remote = @fopen ($url, "rb"); 
if (!$remote) { 
    echo "Error: " . $http_response_header[0]; 
}