php 中判断文件存在是用 file_exists 还是 is_file 的整理
在写程序时发现在判断文件是否存在时,有两种写法,有的人用了
is_file
,有的人用了
file_exists
,用哪个更好或者说更合适呢
看了这篇 PHP 中
file_exists
与
is_file
,
is_dir
的区别的说法基本明白,PHP
的
file_exists
=
is_dir
+
is_file
。
写程序验证一下:
分别执行 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
目录存在
file_exists
:2.9271ms
is_dir
:0.4601ms
目录不存在
file_exists
:2.9719ms
is_dir
:2.9359ms
is_file
(
$file
)
file_exists
(
$file
)
当
$file
是目录时,
is_file
返回 false,
file_exists
返回 true