以前知道file_exists不能檢查遠端檔案是否存在,但不知道如何檢查遠端檔案是否存在,
今天在看PHP資訊研究中心部落格的時候發現一個函數get_headers
原文在這裡:
如何檢查某個遠端檔案是否存在
get_headers(PHP5) — 取得伺服器回應一個HTTP 請求所傳送的所有標頭
get_headers() 傳回一個數組,包含有伺服器回應一個HTTP 請求所傳送的標頭。如果失敗則傳回 FALSE 並發出一條 E_WARNING 等級的錯誤訊息。
如果將可選的 format 參數設為 1,則 get_headers() 會解析對應的資訊並設定陣列的鍵名。
回傳類似
Array (
[0] => HTTP/1.1 200 OK
[Date] => Sat, 29 May 2004 12:28:14 GMT
[Server] = Apache/1. (Red-Hat/Linux)
[Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
[ETag] => "3f80f-1b6-3e1cb03b"
> Content-Length] => 438
[Connection] => close
[Content-Type] => text/html
)
200 而是其他
因為我測試了一下我的網站上其實並不存在的東西,返回的是頁面狀態應該404 不存在但原作者的函數依然返回true
實際上應該根據返回的頁面狀態來判斷