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 相关文章推荐
相对路径转化成绝对路径
Apr 10 PHP
PHP一些常用的正则表达式字符的一些转换
Jul 29 PHP
深入探讨<br />和 \r\n两者有什么区别??
Jun 05 PHP
php stream_get_meta_data返回值
Sep 29 PHP
PHP之APC缓存详细介绍 apc模块安装
Jan 13 PHP
PHP中session变量的销毁
Feb 27 PHP
php实现读取超大文件的方法
Jul 28 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
php一个文件搞定微信jssdk配置
Dec 12 PHP
php使用Jpgraph创建3D饼形图效果示例
Feb 15 PHP
PHP解耦的三重境界(浅谈服务容器)
Mar 13 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 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 如何向 MySQL 发送数据
2006/10/09 PHP
php中处理模拟rewrite 效果
2006/12/09 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
Yii2中DropDownList简单用法示例
2016/07/18 PHP
微信支付扫码支付php版
2016/07/22 PHP
php实现将二维关联数组转换成字符串的方法详解
2017/07/31 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
jQuery 1.0.4 - New Wave Javascript(js源文件)
2007/01/15 Javascript
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
2007/04/21 Javascript
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
js实现的二级横向菜单条实例
2015/08/22 Javascript
js控制li的隐藏和显示实例代码
2016/10/15 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
react.js 翻页插件实例代码
2017/01/19 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
JavaScript的继承实现小结
2017/05/07 Javascript
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
AngularJS表单验证功能
2017/10/19 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
Python生成8位随机字符串的方法分析
2017/12/05 Python
python得到电脑的开机时间方法
2018/10/15 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
详解Pycharm出现out of memory的终极解决方法
2020/03/03 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
如何在python中实现线性回归
2020/08/10 Python
在canvas上实现元素图片镜像翻转动画效果的方法
2018/03/20 HTML / CSS
餐饮业员工工作决心书
2014/03/11 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
四风批评与自我批评范文
2014/10/14 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书