PHP 中 file_exists 与 is_file、is_dir 的区别

admin 阅读:107 2024-03-02

在 PHP 中判断文件是否存在,可以使用 is_filefile_exists;判断文件夹是否存在,可以使用:is_dirfile_exists,即 file_exists = is_dir + is_file。三者实现的功能相同,下面就从效率方面对比一下:

file_existsis_fileis_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_filefile_exists要快得多;

文件不存在的情况下,is_filefile_exists要慢一点点,但可以忽略不计。

目录存在的情况下,is_dirfile_exists要快得多;

目录不存在的情况下,is_dirfile_exists要慢一点点,但可以忽略不计。

结论:

如果要判断文件是否存在,用函数 is_file(),如果要判断目录是否存在,用函数 is_dir(),只有在不知道判断对象是文件还是目录时,使用 file_exists() 

声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!