首頁  >  文章  >  後端開發  >  php如何判斷本機與遠端檔案是否存在的實例分析

php如何判斷本機與遠端檔案是否存在的實例分析

黄舟
黄舟原創
2017-09-07 09:37:471499瀏覽

本文介紹使用php判斷檔案是否存在的方法,支援本地及遠端檔案判斷,提供完整呼叫程式碼及示範。 

1.判斷本機檔案是否存在

判斷本機檔案是否存在,可以使用file_exists方法判斷。

<?php
$file = &#39;test.jpg&#39;;
var_dump(file_exists($file));?>

2.判斷遠端檔案是否存在

判斷遠端檔案是否存在,不能使用file_exists方法,而是取得遠端檔案的header來判斷是否存在,如存在回傳的HTTP_CODE是200304

<?php
// 屏蔽域名不存在等访问问题的警告
error_reporting(E_ALL ^ (E_WARNING|E_NOTICE));
$remote_file = &#39; 
$header = get_headers($remote_file, true);
var_dump(isset($header[0]) && (strpos($header[0], &#39;200&#39;) || strpos($header[0], &#39;304&#39;)));?>

3.完整程式碼

<?php/**
 * 判断文件是否存在,支持本地及远程文件
 * @param  String  $file 文件路径
 * @return Boolean
 */function check_file_exists($file){

    // 远程文件
    if(strtolower(substr($file, 0, 4))==&#39;http&#39;){        
    $header = get_headers($file, true);        
    return isset($header[0]) && (strpos($header[0], &#39;200&#39;) || strpos($header[0], &#39;304&#39;));    // 本地文件
    }else{        
    return file_exists($file);
    }

}
// 屏蔽域名不存在等访问问题的警告
error_reporting(E_ALL ^ (E_WARNING|E_NOTICE));
$file1 = &#39;test.jpg&#39;;$file2 = &#39;http://www.csdn.net/css/logo.png&#39;;

var_dump(check_file_exists($file1)); // false
var_dump(check_file_exists($file2)); // true
?>
#

以上是php如何判斷本機與遠端檔案是否存在的實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn