在 PHP 中判断文件是否存在,可以使用 is_file
或 file_exists
;判断文件夹是否存在,可以使用:is_dir
和 file_exists
,即 file_exists
= is_dir
+ is_file
。三者实现的功能相同,下面就从效率方面对比一下:
file_exists
、is_file
、is_dir
效率对比:
文件存在(当前目录):is_file
:0.4570ms、file_exists
:2.0640ms
文件存在(/www/www.codesou.cn/a/):is_file
:0.4909ms、file_exists
:3.3500ms
文件存在(/www/www.codesou.cn/a/b/c/):is_file
:0.4961ms、file_exists
:4.2100ms
文件不存在(当前目录):is_file
:2.0170ms、file_exists
:1.9848ms
文件不存在(/www/www.codesou.cn/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_exists
要快得多;
文件不存在的情况下,is_file
比file_exists
要慢一点点,但可以忽略不计。
目录存在的情况下,is_dir
比file_exists
要快得多;
目录不存在的情况下,is_dir
比file_exists
要慢一点点,但可以忽略不计。
结论:
如果要判断文件是否存在,用函数 is_file
(),如果要判断目录是否存在,用函数 is_dir
(),只有在不知道判断对象是文件还是目录时,使用 file_exists
()
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » PHP 中 file_exists 与 is_file、is_dir 的区别