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 遍历数据表数据并列表横向排列的代码
Sep 05 PHP
PHP的博客ping服务代码
Feb 04 PHP
php explode函数实例代码
Feb 27 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
Sep 28 PHP
Smarty中的注释和截断功能介绍
Apr 09 PHP
YII使用url组件美化管理的方法
Dec 28 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
Jul 06 PHP
php格式化时间戳
Dec 17 PHP
PHP实现动态删除XML数据的方法示例
Mar 30 PHP
如何优雅的使用 laravel 的 validator验证方法
Nov 11 PHP
php设计模式之策略模式应用案例详解
Jun 17 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 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/10/09 PHP
PHP获取文件后缀名的三个函数
2012/10/15 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
2015/01/07 PHP
ThinkPHP文件缓存类代码分享
2015/04/22 PHP
php函数连续调用实例分析
2015/07/30 PHP
JS获取农历日期具体实例
2013/11/14 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
2015/10/22 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
Bootstrap如何激活导航状态
2017/03/22 Javascript
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
nodejs中函数的调用实例详解
2018/10/31 NodeJs
简谈创建React Component的几种方式
2019/06/15 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
详解JS预解析原理
2020/06/16 Javascript
[00:36]DOTA2勇士令状莱恩声望物品——冥晶之厄展示
2018/05/25 DOTA
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
python基础教程之Filter使用方法
2017/01/17 Python
深入理解python中的atexit模块
2017/03/07 Python
python中map()函数的使用方法示例
2017/09/29 Python
Python向MySQL批量插数据的实例讲解
2018/03/31 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
Python读写锁实现实现代码解析
2020/11/28 Python
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
美国亚马逊旗下时尚女装网店:SHOPBOP(支持中文)
2020/10/17 全球购物
如何进行Linux分区优化
2013/02/12 面试题
三年级学生评语
2014/04/23 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
校园运动会广播稿
2014/10/06 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
python使用PySimpleGUI设置进度条及控件使用
2021/06/10 Python