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 simple_html_dom.php+正则 采集文章代码
Dec 24 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
Apr 02 PHP
DOM XPATH获取img src值的query
Sep 23 PHP
PHP基本语法总结
Sep 06 PHP
适用于初学者的简易PHP文件上传类
Oct 29 PHP
PHP读取PPT文件的方法
Dec 10 PHP
PHP模块化安装教程
Jun 01 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
PHP简单遍历对象示例
Sep 28 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
Nov 10 PHP
如何离线执行php任务
Feb 21 PHP
PHP性能测试工具xhprof安装与使用方法详解
Apr 29 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
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
浅析php原型模式
2014/11/25 PHP
纯php生成随机密码
2015/10/30 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
JavaScript 学习笔记 Black.Caffeine 09.11.28
2009/11/30 Javascript
JavaScript中常见陷阱小结
2010/04/27 Javascript
别了 JavaScript中的isXX系列
2012/08/01 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
2018/01/21 jQuery
详解小程序用户登录状态检查与更新实例
2019/05/15 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
2019/06/24 Javascript
Vue项目中Api的组织和返回数据处理的操作
2019/11/04 Javascript
vue+echarts实现动态折线图的方法与注意
2020/09/01 Javascript
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
学习python分支结构
2019/05/17 Python
Python基础学习之函数方法实例详解
2019/06/18 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
Python类如何定义私有变量
2020/02/03 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
pycharm设置当前工作目录的操作(working directory)
2020/02/14 Python
.NET面试题:什么是值类型和引用类型
2016/01/12 面试题
在校生钳工实习自我鉴定
2013/09/19 职场文书
儿科护士实习自我鉴定
2013/10/17 职场文书
父亲追悼会答谢词
2014/01/17 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
培训讲师岗位职责
2014/04/13 职场文书
2014年党员学习“三严三实”思想汇报
2014/09/15 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书
Django基础CBV装饰器和中间件
2022/03/22 Python