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 相关文章推荐
学习discuz php 引入文件的方法DISCUZ_ROOT
Jun 21 PHP
PHP 开发环境配置(Zend Studio)
Apr 28 PHP
PHP中实现汉字转区位码应用源码实例解析
Jun 14 PHP
php通过COM类调用组件的实现代码
Jan 11 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
Mar 13 PHP
php去除换行(回车换行)的三种方法
Mar 26 PHP
php有道翻译api调用方法实例
Dec 22 PHP
php.ini中的request_order推荐设置
May 10 PHP
php 使用curl模拟ip和来源进行访问的实现方法
May 02 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
PHP反射实际应用示例
Apr 03 PHP
Laravel登录失败次数限制的实现方法
Aug 26 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中用数组的方法设置cookies
2011/04/21 PHP
PHP 自定义错误处理函数的使用详解
2013/05/10 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
2017/01/20 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
让人蛋疼的JavaScript语法特性
2014/09/30 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
2016/08/10 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
javascript实现点击小图显示大图
2020/11/29 Javascript
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
Django1.7+python 2.78+pycharm配置mysql数据库
2016/10/09 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
python绘制热力图heatmap
2020/03/23 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
Python3字符串encode与decode的讲解
2019/04/02 Python
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
暑假实习求职信范文
2013/09/22 职场文书
中医临床专业自我鉴定范文
2014/01/15 职场文书
小学运动会表扬稿
2014/01/19 职场文书
中秋寄语大全
2014/04/11 职场文书
项目建议书模板
2014/05/12 职场文书
用人单位终止解除劳动合同证明书
2014/10/06 职场文书
诉讼授权委托书
2014/10/15 职场文书
滞留工资返还协议书
2014/10/19 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
村干部任职承诺书
2015/01/21 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书
Python超详细分步解析随机漫步
2022/03/17 Python
「月刊Comic Alive」2022年5月号封面公开
2022/03/21 日漫
Redis如何实现验证码发送 以及限制每日发送次数
2022/04/18 Redis