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 应用程序的安全 -- 不能违反的四条安全规则
Nov 26 PHP
php动态生成JavaScript代码
Mar 09 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
May 27 PHP
php设计模式 Observer(观察者模式)
Jun 26 PHP
php过滤敏感词的示例
Mar 31 PHP
PHP函数in_array()使用详解
Aug 20 PHP
ThinkPHP内置jsonRPC的缺陷分析
Dec 18 PHP
PHP概率计算函数汇总
Sep 13 PHP
php 获取文件行数的方法总结
Oct 11 PHP
使用php完成常见的文件上传功能(推荐)
Jan 13 PHP
Ubuntu彻底删除PHP7.0的方法
Jul 27 PHP
PHP7新特性
Mar 09 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通过文件头检测文件类型通用代码类(zip,rar等)
2010/10/19 PHP
PHP转盘抽奖接口实例
2015/02/09 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
2020/04/26 PHP
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
node中socket.io的事件使用详解
2014/12/15 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
EditPlus中的正则表达式 实战(4)
2016/12/15 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
Python实现Linux命令xxd -i功能
2016/03/06 Python
Django admin美化插件suit使用示例
2017/12/12 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
Python稀疏矩阵及参数保存代码实现
2020/04/18 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
recorder.js 基于Html5录音功能的实现
2020/05/26 HTML / CSS
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
物理教育专业毕业生推荐信
2013/11/03 职场文书
职业生涯规划书基本格式
2014/01/06 职场文书
超强台风观后感
2015/06/09 职场文书
办公室管理规章制度
2015/08/04 职场文书
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL
python内置模块之上下文管理contextlib
2022/06/14 Python
CSS中使用grid布局实现一套模板多种布局
2022/07/15 HTML / CSS