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 相关文章推荐
PHP6 先修班 JSON实例代码
Aug 23 PHP
php下关于中英数字混排的字符串分割问题
Apr 06 PHP
ThinkPHP与PHPExcel冲突解决方法
Aug 08 PHP
linux下编译安装memcached服务
Aug 03 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
Jun 06 PHP
/etc/php-fpm.d/www.conf 配置注意事项
Feb 04 PHP
php生成网页桌面快捷方式
May 05 PHP
PHP+JS实现的实时搜索提示功能
Mar 13 PHP
laravel使用Faker数据填充的实现方法
Apr 12 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
Dec 18 PHP
tp5.1 框架查询表达式用法详解
May 25 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实现像JSP,ASP里Application那样的全局变量
2007/01/12 PHP
用PHP控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
php 批量替换程序的具体实现代码
2013/10/04 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
2020/08/06 PHP
通过下拉框的值来确定输入框是否可以为空的代码
2011/10/18 Javascript
JavaScript对象创建及继承原理实例解剖
2013/02/28 Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
2015/08/05 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
2016/06/08 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
在create-react-app中使用sass的方法示例
2018/10/01 Javascript
微信小程序生成海报分享朋友圈的实现方法
2019/05/06 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
Python实现优先级队列结构的方法详解
2016/06/02 Python
python连接数据库的方法
2017/10/19 Python
pandas数据集的端到端处理
2019/02/18 Python
python线程信号量semaphore使用解析
2019/11/30 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
2020/05/26 Python
用CSS3实现无限循环的无缝滚动的示例代码
2017/11/01 HTML / CSS
印度购物网站:TATA CLiQ
2017/11/23 全球购物
纺织工程专业个人求职信范文
2014/01/27 职场文书
西安交大自主招生自荐信
2014/01/27 职场文书
置业顾问岗位职责
2014/03/02 职场文书
商铺租赁意向书
2014/04/01 职场文书
计算机系统管理员求职信
2014/06/20 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
搞笑的获奖感言
2014/08/16 职场文书
市场部岗位职责
2015/02/12 职场文书
Pygame Time时间控制的具体使用详解
2021/11/17 Python