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 相关文章推荐
简单的页面缓冲技术
Oct 09 PHP
php面向对象全攻略 (十二) 抽象方法和抽象类
Sep 30 PHP
PHP分页函数代码(简单实用型)
Dec 02 PHP
PHP 图片上传代码
Sep 13 PHP
深入解析phpCB批量转换的代码示例
Jun 27 PHP
php中怎么搜索相关联数组键值及获取之
Oct 17 PHP
php三维数组去重(示例代码)
Nov 26 PHP
php通过字符串调用函数示例
Mar 02 PHP
浅谈php处理后端&接口访问超时的解决方法
Oct 29 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
Dec 06 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
PHP下用rmdir实现删除目录的三种方法小结
2008/04/20 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
原型方法的不同写法居然会影响调试的解决方法
2007/03/08 Javascript
Jquery 基础学习笔记
2009/05/29 Javascript
jquery 日期分离成年月日的代码
2010/05/14 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
jQuery$命名冲突怎么办如何解决
2014/01/16 Javascript
JavaScript编程的10个实用小技巧
2014/04/18 Javascript
三种检测iPhone/iPad设备方向的方法
2014/04/23 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
基于Javascript倒计时效果
2016/12/22 Javascript
vue使用codemirror的两种用法
2019/08/27 Javascript
从零学Python之入门(四)运算
2014/05/27 Python
python在不同层级目录import模块的方法
2016/01/31 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
python3+PyQt5重新实现QT事件处理程序
2018/04/19 Python
python队列queue模块详解
2018/04/27 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
python3 pygame实现接小球游戏
2019/05/14 Python
python实现的按要求生成手机号功能示例
2019/10/08 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
卫校中专生个人自我评价
2013/09/19 职场文书
名人演讲稿范文
2014/09/16 职场文书
2014年女职工工作总结
2014/11/27 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
文明礼仪主题班会
2015/08/13 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL
Python MNIST手写体识别详解与试练
2021/11/07 Python
bat批处理之字符串操作的实现
2022/03/16 Python
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS