ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルの is_file、file_exists、is_dir の違い

php_PHP チュートリアルの is_file、file_exists、is_dir の違い

WBOY
WBOYオリジナル
2016-07-13 16:56:361029ブラウズ

この記事では、php の is_file、file_exists、is_dir の違いを紹介します。必要な方は参考にしてください。

is_file はファイルが存在するかどうかのみを決定します。

コードは次のとおりですコードをコピーfile_exists は、ファイルが存在するかどうか、またはディレクトリが存在するかどうかを決定します。

$file = "テスト.txt"; if(is_file($file)) {
echo (「$file は通常のファイルです」)
}else {
echo (「$file は通常のファイルではありません」)
}
?>

出力: test.txt は通常のファイルです

コードは次のとおりですコードをコピー echo file_exists("test.txt");is_dir はディレクトリが存在するかどうかを判断します。 例
?>


入力

1

コードは次のとおりです

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