この記事では、php の is_file、file_exists、is_dir の違いを紹介します。必要な方は参考にしてください。
is_file はファイルが存在するかどうかのみを決定します。
コードは次のとおりです
| コードをコピー
|
$file = "テスト.txt";
if(is_file($file)) {
echo (「$file は通常のファイルです」)
}else {
echo (「$file は通常のファイルではありません」)
}
?>
出力: test.txt は通常のファイルです
|
file_exists は、ファイルが存在するかどうか、またはディレクトリが存在するかどうかを決定します。
コードは次のとおりです
コードをコピー
|
|
echo file_exists("test.txt");
?>
入力
1
| is_dir はディレクトリが存在するかどうかを判断します。
例
コードは次のとおりです
コードをコピー
|
|
$file = "画像";
if(is_dir($file))
{
echo ("$file はディレクトリです");
}
それ以外
{
echo ("$file はディレクトリではありません");
}
?>
出力:
画像はディレクトリです
マニュアルを見ると、これら 2 つの関数の結果はキャッシュされますが、is_file の方が N 倍高速です。 |
もう一つ注目すべき点:
ファイルが存在する場合、is_file は file_exists より N 倍高速です;
ファイルが存在しない場合、is_file は file_exists よりも遅くなります。
結論としては、file_exits関数は実際にファイルが存在するかどうかで速度に影響はありませんが、is_fileの効果は大きいです
テスト
コードは次のとおりです
コードをコピー
|
ファイルが存在します(カレントディレクトリ) |
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
ディレクトリが存在します
file_exists:2.9271ms
is_dir:0.4601ms
ディレクトリが存在しません
file_exists:2.9719ms
is_dir:2.9359ms
|
http://www.bkjia.com/PHPjc/631588.htmlwww.bkjia.com
本当http://www.bkjia.com/PHPjc/631588.html技術記事この記事では、PHP における is_file、file_exists、is_dir の違いを紹介します。必要な方は参考にしてください。 is_file はファイルが存在するかどうかのみを判断します。コードは次のとおりです。 ?php $file =...