file_exists, is_file和is_dir三者在PHP中有什么不同

file_exists, is_file和is_dir三者在PHP中有什么不同?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

很显然file_exists是受了asp的影响,因为asp不但有fileExists还有folderExists, driverExists,那么PHP中file_exists是什么意思呢?

PHP的file_exists=is_dir + is_file

它既可以判断文件是否存在,又可以判断目录是否存在。但这样一个全面的函数执行效率非常低,就像asp中请求不指定是形式,还是,饼干,所以结论是:

?如果要判断目录是否存在,请用独立函数is_dir(目录)
?如果要判断文件是否存在,请用独立函数is_file (filepath)

is_file只判断文件是否存在,
file_exists判断文件是否存在或者是目录是否存在,
is_dir判断目录是否存在,

查看手册,虽然这两个函数的结果都会被缓存,但是is_file却快了N倍。
还有一个值得注意的:
文件存在的情况下,is_file比file_exists要快N倍;
文件不存在的情况下,is_file比file_exists要慢。
结论是,file_exits函数并不会因为该文件是否真的存在而影响速度,但是is_file影响就大了。

关于file_exists, is_file和is_dir三者在PHP中有什么不同问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

file_exists, is_file和is_dir三者在PHP中有什么不同