ホームページ  >  記事  >  バックエンド開発  >  ファイルが存在するかどうかを判断するための PHP 関数の選択 (file_exists または is_file)

ファイルが存在するかどうかを判断するための PHP 関数の選択 (file_exists または is_file)

WBOY
WBOYオリジナル
2016-07-25 09:00:411208ブラウズ
PHP には、is_file と file_exists という 2 つの組み込み関数が用意されています。どちらも、適切な場合にファイルが存在するかどうかを判断するために使用できます。この記事では、どちらを使用するのがよいかを簡単に説明します。

以下の具体的な例と目に見えるデータを見てみましょう。

is_file と file_exists を使用してファイルの存在を検出し、それぞれ 1000 回実行し、所要時間を記録します。

ファイルは存在します(カレントディレクトリ) is_file:0.4570ms file_exists:2.0640ms

ファイルは存在します(絶対パスレベル3/www/hx/a/) is_file:0.4909ms file_exists:3.3500ms

ファイルが存在します(絶対パスレベル5/www/hx/a/b/c/) is_file:0.4961ms file_exists:4.2100ms

ファイルが存在しません(カレントディレクトリ) is_file:2.0170ms file_exists:1.9848ms

ファイルが存在しません(絶対パスレベル5/www/hx/a/b/c/) is_file:4.1909ms file_exists:4.1502ms

ディレクトリが存在します ファイル_存在:2.9271ms is_dir:0.4601ms ディレクトリが存在しません ファイル_存在:2.9719ミリ秒 is_dir:2.9359ms

is_file($file) file_exists($file) $file がディレクトリの場合、is_file は false を返し、file_exists は true を返します

ファイルが存在する場合、is_file は file_exists よりもはるかに高速です。 ファイルを検出するディレクトリが深いほど速度の差は大きくなりますが、少なくとも 4 倍は速くなります。

ファイルが存在しない場合、is_file は file_exists よりも少し遅くなりますが、無視しても問題ありません。

ディレクトリが存在する場合、is_dir は file_exists よりもはるかに高速です。 ディレクトリが存在しない場合、is_dir は file_exists よりも少し遅くなりますが、無視しても問題ありません。

あなたは賢明なので、Programmer's Home で次のような概要を理解していると思います。 1. ファイルが存在するかどうかを確認するには、関数 is_file() を使用します。 2. ディレクトリが存在するかどうかを確認するには、関数 is_dir() を使用します。 3. 受信パラメータがファイルであるかディレクトリであるかわからない場合は、file_exists を検討できます。そうしないと、あまりにも孤独になります。



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