is_file 判断文件是否存在并且检查指定的文件名是否是正常的文件;
file_exists 判断文件是否存在或者是目录是否存在;
is_dir 判断目录是否存在;
查看手册,虽然这两个函数的结果都会被缓存,但是is_file却快了N倍。
还有一个值得注意的:
文件存在的情况下,is_file比file_exists要快N倍;
文件不存在的情况下,is_file比file_exists要慢;
结论是,file_exits函数并不会因为该文件是否真的存在而影响速度,但是is_file影响就大了。
提示和注释: is_file(file)函数的结果会被缓存。请使用 clearstatcache()来清除缓存。
file_exists()函数是受目录权限的限制的。