Thursday, July 26, 2012

[PHP] 判斷遠端檔案是否存在 (不同網域) get_headers

PHP有file_exists()可以判斷檔案是否存在,但是只限自己本機的檔案,如果要查別人的網站上的檔案,就沒辦法了。所以,我們利用另一個函式...

$arr_file_test = get_headers("http://www.google.com/1.jpg");
$test = stripos($arr_file_test[0],'ok');
if($test!=''){
  echo "檔案存在";
}else{
  echo "檔案不存在";
}
說明:
get_headers($url)會以陣列方式,回傳這個網址的狀態,我們只需要第一個值,如下
HTTP/1.0 200 OK
或是
HTTP/1.0 404 Not Found
所以,去判斷是否有OK就可以知道網址是否仍然有效。

備註:這個函式會因為連線速度的關係,回應比較慢,所以,能用file_exists的話,就應該避免使用get_headers。

No comments:

Post a Comment