close

如何在使用file_get_contents()時檢查檔案是否存在?

因為當url內容找不到時,file_get_contents就會噴錯導致整個php停住

所以要先在呼叫file_get_contents()前做檢查

 

方法如下:

1. 先使用get_headers去檢查該url的header

$file_headers = get_headers($file);   

 

2. 對header內容檢查是否包含'404'字串,如果有表示該檔案不存在。

if(strpos($file_headers[0], '404') !== false){
    echo "File Doesn't Exists!";
} else {
    echo "File Exists!";
}

--

參考自

https://stackoverflow.com/questions/25355251/php-to-check-file-exist-on-external-server-using-file-get-contents

 

I think best method for me is using this script:

 

$file = "http://website.com/dir/filename.php";
$file_headers = get_headers($file);

 

If file not exists output for $file_headers[0] is: HTTP/1.0 404 Not Found or HTTP/1.1 404 Not Found

Use strpos method to check 404 string if file doesn't exists:

 

if(strpos($file_headers[0], '404') !== false){
     echo "File Doesn't Exists!";
} else {
    echo "File Exists!";
}

 

Thanks for all help :)

--

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 dizzy03 的頭像
    dizzy03

    碎碎念

    dizzy03 發表在 痞客邦 留言(0) 人氣()