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+SqlServer实现分页显示
Oct 09 PHP
php中的时间显示
Jan 18 PHP
抓取YAHOO股票报价的类
May 15 PHP
PHP parse_url 一个好用的函数
Oct 03 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
Nov 07 PHP
php 判断数组是几维数组
Mar 20 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
Mar 03 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
Mar 21 PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
Jul 27 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 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基础知识:控制结构
2006/12/13 PHP
Linux下PHP加速器APC的安装与配置笔记
2014/10/24 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
PHP使用in_array函数检查数组中是否存在某个值
2015/03/25 PHP
Yii控制器中操作视图js的方法
2016/07/04 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
2019/10/17 PHP
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
利用腾讯的ip地址库做ip物理地址定位
2010/07/24 Javascript
js禁止document element对象选中文本实现代码
2013/03/21 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
利用原生JavaScript获取元素样式只是获取而已
2014/10/08 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
2016/02/18 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
localStorage的黑科技-js和css缓存机制
2017/02/06 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
jQuery实现的解析本地 XML 文档操作示例
2020/04/30 jQuery
JS实现前端动态分页码代码实例
2020/06/02 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
Python脚本实现格式化css文件
2015/04/08 Python
Python实现Kmeans聚类算法
2020/06/10 Python
python实现Zabbix-API监控
2018/09/17 Python
python通过对字典的排序,对json字段进行排序的实例
2020/02/27 Python
python中怎么表示空值
2020/06/19 Python
序列化Python对象的方法
2020/08/01 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
乡镇精神文明建设汇报材料
2014/08/15 职场文书
机票销售员态度不好检讨书
2014/09/27 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
为Java项目添加Redis缓存的方法
2021/05/18 Redis
MySQL数据库压缩版本安装与配置详细教程
2021/05/21 MySQL
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server