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 相关文章推荐
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
Dec 13 PHP
PHP禁止页面缓存的代码
Oct 23 PHP
php 操作调试的方法
Jul 12 PHP
学习php过程中的一些注意点的总结
Oct 25 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 PHP
php中current、next与reset函数用法实例
Nov 17 PHP
php从memcache读取数据再批量写入mysql的方法
Dec 29 PHP
PHP递归实现层级树状展开
Apr 01 PHP
PHP简单读取xml文件的方法示例
Apr 20 PHP
php实现的mongoDB单例模式操作类
Jan 20 PHP
PHP的mysqli_rollback()函数讲解
Jan 23 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
Sep 29 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
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
utf8的编码算法 转载
2006/12/27 Javascript
JQuery Dialog的内存泄露问题解决方法
2010/06/18 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
js处理json以及字符串的比较等常用操作
2013/09/08 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
微信小程序商城项目之商品属性分类(4)
2017/04/17 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
Python简明入门教程
2015/08/04 Python
Python编程pygal绘图实例之XY线
2017/12/09 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
2019/06/11 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
英国网上香水店:Fragrance Direct
2016/07/20 全球购物
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
医药专业应届毕业生求职信范文
2014/01/01 职场文书
教学器材管理制度
2014/01/26 职场文书
施工协议书范本
2014/04/22 职场文书
新闻人物通讯稿
2014/10/09 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
干部年终考核评语
2015/01/04 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
党内外群众意见范文
2015/06/02 职场文书
亮剑观后感600字
2015/06/05 职场文书
如何判断微信付款码和支付宝付款码
2021/04/01 PHP
如何搭建 MySQL 高可用高性能集群
2021/06/21 MySQL