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 AJAX实例根据邮编自动完成地址信息
Nov 23 PHP
php auth_http类库进行身份效验
Mar 19 PHP
非常好用的两个PHP函数 serialize()和unserialize()
Feb 04 PHP
simplehtmldom Doc api帮助文档
Mar 26 PHP
php笔记之:数据类型与常量的使用分析
May 14 PHP
PHP计算2点经纬度之间的距离代码
Aug 12 PHP
PHP中imagick函数的中文解释
Jan 21 PHP
Codeigniter实现发送带附件的邮件
Mar 19 PHP
PHP中的随机性 你觉得自己幸运吗?
Jan 22 PHP
php连接oracle数据库的核心步骤
May 26 PHP
php 函数使用可变数量的参数方法
May 02 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 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
php实现分页工具类分享
2014/01/09 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
session 加入redis的实现代码
2016/07/15 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
表单的一些基本用法与技巧
2006/07/15 Javascript
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
js 获取时间间隔实现代码
2014/05/12 Javascript
跟我学习javascript的作用域与作用域链
2015/11/19 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
URL中“#” “?” &amp;“”号的作用浅析
2017/02/04 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
解决jquery有正确返回值但不执行success函数的问题
2018/08/20 jQuery
jquery向后台提交数组的代码分析
2020/02/20 jQuery
vue和H5 draggable实现拖拽并替换效果
2020/07/29 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
对numpy中数组元素的统一赋值实例
2018/04/04 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
python获取栅格点和面值的实现
2020/03/10 Python
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
小学生自我评价范例
2013/09/24 职场文书
农民入党思想汇报
2014/01/03 职场文书
教师专业自荐书范文
2014/02/10 职场文书
工厂门卫的岗位职责
2014/07/27 职场文书
老龄工作先进事迹
2014/08/15 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书
乔迁新居祝福语
2019/11/04 职场文书
导游词之青岛太清宫
2019/12/13 职场文书
Nginx进程管理和重载原理详解
2021/04/22 Servers
如何在python中实现ECDSA你知道吗
2021/11/23 Python
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android