ホームページ  >  記事  >  バックエンド開発  >  PHP がローカル ファイルとリモート ファイルが存在するかどうかを判断する方法の分析例

PHP がローカル ファイルとリモート ファイルが存在するかどうかを判断する方法の分析例

黄舟
黄舟オリジナル
2017-09-07 09:37:471440ブラウズ

この記事では、PHP を使用してファイルが存在するかどうかを判断する方法を紹介し、ローカルおよびリモートのファイル判断をサポートし、完全な呼び出しコードとデモを提供します。

1. ローカル ファイルが存在するかどうかを確認する

ローカル ファイルが存在するかどうかを確認するには、file_exists メソッドを使用して確認できます。

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

2. リモート ファイルが存在するかどうかを確認する

リモート ファイルが存在するかどうかを確認するには、file_exists メソッドを使用できませんが、リモート ファイルのヘッダーを取得して、存在する場合は返されます。 HTTP_CODE は 200 または 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. 完全なコード

<?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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。