php中判断文件存在是用file_exists还是is_file的整理


Posted in PHP onSeptember 12, 2012

看了这篇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

文件存在的情况下,is_file比file_exists要快得多;
要检测文件所在的目录越深,速度差越多,但至少快4倍。

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

目录存在的情况下,is_dir比file_exists要快得多;
目录不存在的情况下,is_dir比file_exists要慢一点点,但可以忽略不计。

结论:

如果要判断文件是否存在,用函数 is_file(),
如果要判断目录是否存在,用函数 is_dir(),
好像没地方需要用file_exists了,不确定传入的参数是文件还是目录的时候用?

PHP 相关文章推荐
提取HTML标签
Oct 09 PHP
浅谈PHP语法(1)
Oct 09 PHP
php jquery 实现新闻标签分类与无刷新分页
Dec 18 PHP
php学习笔记之面向对象
Nov 08 PHP
PHP中模拟链表和链表的基本操作示例
Feb 27 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
Mar 05 PHP
总结对比php中的多种序列化
Aug 28 PHP
php魔法函数与魔法常量使用介绍
Jul 23 PHP
CI框架附属类用法分析
Dec 26 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
Feb 28 PHP
laravel框架使用阿里云短信发送消息操作示例
Feb 15 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
Apr 23 PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 #PHP
PHP中几种常见的超时处理全面总结
Sep 11 #PHP
PHP UTF8中文字符截断函数代码
Sep 11 #PHP
php中将汉字转换成拼音的函数代码
Sep 08 #PHP
PHP json格式和js json格式 js跨域调用实现代码
Sep 08 #PHP
header跳转和include包含问题详解
Sep 08 #PHP
php比较多维数组中值的大小排序实现代码
Sep 08 #PHP
You might like
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
PHP copy函数使用案例代码解析
2020/09/01 PHP
JSON 数据格式介绍
2012/01/13 Javascript
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
javascript读写json示例
2014/04/11 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
jquery实现购物车基本功能
2019/10/25 jQuery
如何使用jQuery操作Cookies方法解析
2020/09/08 jQuery
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
Python实现带百分比的进度条
2016/06/28 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
Python批量安装卸载1000个apk的方法
2020/04/10 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
Python实现异步IO的示例
2020/11/05 Python
倩碧澳大利亚官网:Clinique澳大利亚
2019/07/22 全球购物
大班亲子运动会方案
2014/06/10 职场文书
工会趣味活动方案
2014/08/18 职场文书
拾金不昧表扬信
2015/01/16 职场文书
酒店辞职书怎么写
2015/02/26 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
公务员学习中国梦心得体会
2016/01/05 职场文书
反邪教教育心得体会
2016/01/15 职场文书
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS
MySQL事务的隔离级别详情
2022/07/15 MySQL