is_file和file_exists效率比较

is_file() 和 file_exists() 函数,虽然说都可以正常运行,但是:is_file 和 file_exists两者效率比较起来,谁的运行速度更快呢?于是,做了一个小测试:

Posted in PHP onMarch 14, 2021
<?php
$start_time = get_microtime();
for($i=0;$i<10000;$i++)//默认1万次,可手动修改
{
if(is_file('test.txt')) {
//do nothing;
}
}
echo 'is_file-->'.(get_microtime() - $start_time).'<br>';
$start_time = get_microtime();
for($i=0;$i<10000;$i++)//默认1万次,可手动修改
{
if(file_exists('test.txt')) {
 //do nothing;
}
}
echo 'file_exits-->'.(get_microtime() - $start_time).'<br>';
function get_microtime()//时间
{
list($usec, $sec) = explode(' ', microtime());
return ((float)$usec + (float)$sec);
}
?>

一、is_file和file_exists效率比较 测试结果

 

1、当文件存在时:

 

运行1万次:

is_file–>0.0067121982574463

file_exits–>0.11532402038574

 

运行10万次:

is_file–>0.069056034088135

file_exits–>1.1521670818329

 

当运行100万次:

is_file–>0.6924250125885

file_exits–>11.497637987137

 

2、当文件不存在时:

 

运行1万次:

is_file–>0.72184419631958

file_exits–>0.71474003791809

 

运行10万次:

is_file–>7.1535291671753

file_exits–>7.0911409854889

 

当运行100万次:

is_file–>72.042867183685

file_exits–>71.789203166962

超过1分钟了,别忘了在php第一行加句:set_time_limit(120);//时间限制120秒

 

二、is_dir()对比file_exists()效率比较 测试结果

当目录存在时,运行1万次

is_dir–>0.0058560371398926

file_exits–>0.11063098907471

 

当目录不存在时,运行1万次

is_dir–>0.7159481048584

file_exits–>0.71305584907532

 

最终得出结论:

is_file()和file_exists()效率比较,结果当文件存在时,is_file函数比file_exists函数速度快14倍,当文件不存在时,两者速度相当。

同理,当文件目录存在时,is_dir()比file_exists()快18倍。不存在时两者效率相当。PHP的file_exists = is_dir + is_file。

如果要判断目录是否存在,请优先考虑函数 is_dir(directory)。

如果要判断文件是否存在,请优先考虑函数 is_file(filepath)。

 

 

PHP 相关文章推荐
php中的观察者模式
Mar 24 PHP
php目录操作函数之获取目录与文件的类型
Dec 29 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 PHP
php gzip压缩输出的实现方法
Apr 27 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
PHP判断网络文件是否存在的方法
Mar 12 PHP
PHP获取网站中各文章的第一张图片的代码示例
May 20 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
Sep 30 PHP
php输出图像的方法实例分析
Feb 16 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
Jun 05 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
Oct 17 PHP
php实现的简单多进程服务器类完整示例
Feb 01 PHP
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
open_basedir restriction in effect. 原因与解决方法
Mar 14 #PHP
aec加密 php_php aes加密解密类(兼容php5、php7)
Mar 14 #PHP
PHP配置文件php.ini中打开错误报告的设置方法
Jan 09 #PHP
imagettftext() 失效,不起作用
Mar 09 #PHP
PHP高并发和大流量解决方案整理
Mar 09 #PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
Mar 09 #PHP
You might like
虫族 Zerg 历史背景
2020/03/14 星际争霸
example1.php
2006/10/09 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
2013/12/24 PHP
用jquery ajax获取网站Alexa排名的代码
2009/12/12 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
JavaScript加强之自定义callback示例
2013/09/21 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
javascript中的正则表达式使用指南
2015/03/01 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
Vue实现PopupWindow组件详解
2018/04/28 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
微信小程序点餐系统开发常见问题汇总
2019/08/06 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
Python计算程序运行时间的方法
2014/12/13 Python
Python使用matplotlib绘制余弦的散点图示例
2018/03/14 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
Django项目使用ckeditor详解(不使用admin)
2019/12/17 Python
学习Python列表的基础知识汇总
2020/03/10 Python
Django中的AutoField字段使用
2020/05/18 Python
python语言是免费还是收费的?
2020/06/15 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
2020/09/14 Python
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
全球最大的房车租赁市场:Outdoorsy
2018/09/19 全球购物
女性时尚在线:IVRose
2019/02/23 全球购物
网络维护中文求职信
2014/01/03 职场文书
精彩的英文自荐信
2014/01/30 职场文书
年度考核自我鉴定
2014/02/02 职场文书
文艺演出策划方案
2014/06/07 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
学校食品安全责任书
2015/01/29 职场文书
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS