Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielanalyse, wie PHP ermittelt, ob lokale und Remote-Dateien vorhanden sind

Beispielanalyse, wie PHP ermittelt, ob lokale und Remote-Dateien vorhanden sind

黄舟
黄舟Original
2017-09-07 09:37:471441Durchsuche

In diesem Artikel wird erläutert, wie Sie mithilfe von PHP feststellen können, ob eine Datei vorhanden ist. Er unterstützt die lokale und Remote-Dateibestimmung und bietet vollständigen Aufrufcode und eine Demonstration.

1. Bestimmen Sie, ob die lokale Datei vorhanden ist

Um festzustellen, ob die lokale Datei vorhanden ist, können Sie die Methode file_exists verwenden.

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

2. Bestimmen Sie, ob die Remote-Datei existiert

Um festzustellen, ob die Remote-Datei existiert, können Sie nicht die Methode file_exists verwenden, sondern den Header der Datei abrufen Remote-Datei, um festzustellen, ob sie existiert. Falls vorhanden, ist der zurückgegebene HTTP_CODE 200 oder 304.

<?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. Vollständiger Code

<?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
?>

Das obige ist der detaillierte Inhalt vonBeispielanalyse, wie PHP ermittelt, ob lokale und Remote-Dateien vorhanden sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn