is_file和file_exists效率比较

目前在弄文件缓存的时候用到了判定文件存在与否,is_file()还是file_exists()呢?is_file和file_exists两者效率比较起来,谁的运行速度更快呢?还是做个测试吧:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<?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);

}

?>

测试结果:

当文件存在时:
运行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

当文件不存在时:

运行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_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)

is_dir()对比file_exists()测试结果:

当目录存在时,运行1万次
is_dir–>0.0058560371398926
file_exits–>0.11063098907471
当目录不存在时,运行1万次
is_dir–>0.7159481048584
file_exits–>0.71305584907532

时间: 2024-10-15 18:57:23

is_file和file_exists效率比较的相关文章

is_file,is_dir,file_exists

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)

is_file与file_exists的区别

is_file 判断文件是否存在并且检查指定的文件名是否是正常的文件: file_exists 判断文件是否存在或者是目录是否存在: is_dir 判断目录是否存在: 查看手册,虽然这两个函数的结果都会被缓存,但是is_file却快了N倍. 还有一个值得注意的: 文件存在的情况下,is_file比file_exists要快N倍: 文件不存在的情况下,is_file比file_exists要慢: 结论是,file_exits函数并不会因为该文件是否真的存在而影响速度,但是is_file影响就大了.

PHP中file_exists与is_file,is_dir的区别介绍

PHP中file_exists与is_file,is_dir的区别介绍 作者: 字体:[增加 减小] 类型:转载 时间:2012-09-12我要评论 很显然file_exists是受了asp的影响,因为asp不但有fileExists还有folderExists,driverExists,那么PHP中file_exists是什么意思呢 很显然file_exists是受了asp的影响,因为asp不但有fileExists还有folderExists,driverExists,那么PHP中file_

php判断文件存在是用file_exists 还是 is_file

From: http://www.php100.com/html/php/hanshu/2013/0905/4672.html [导读] 在写程序时发现在判断文件是否存在时,有两种写法,有的人用了is_file,有的人用了file_exists,用哪个更好或者说更合适呢?判断文件存在用is_file还是file_exists?在写程序时发现在判断文件是否存在时,有两种 在写程序时发现在判断文件是否存在时,有两种写法,有的人用了is_file,有的人用了file_exists,用哪个更好或者说更合

php学习之道:php中is_file和file_exist的差别,and推断文件夹is_dir

在PHP中,is_file和file_isexist是有非常小差别的 1) is_file: $path ="/path/to/file/text.txt"; if(file_exists($path)) echo "File Exists"; else echo "File not Exists"; 比方在这个样例中,文件存在会返回true,不存在返回false,但注意的是.假如传入一个 正确的路径(比方一个文件文件夹).也会返回true: $

php学习之道:php中is_file和file_exist的区别,and判断目录is_dir

在PHP中,is_file和file_isexist是有很小区别的 1) is_file: $path ="/path/to/file/text.txt"; if(file_exists($path)) echo "File Exists"; else echo "File not Exists"; 比如在这个例子中,文件存在会返回true,不存在返回false,但注意的是,假如传入一个 正确的路径(比如一个文件目录),也会返回true: $pa

PHP文件操作系统----主要的文件操作函数

一.文件操作系统概述 1.概述: php中的文件操作系统主要是对文件和目录的操作.文件在windows系统下分为3种不同:文件.目录.未知,在linux/unix系统下分为7种不同:block.char.dir.fifo.file.link和unknown七种类型.目录在windows系统:D:/a/b/c.php 或 D:\a\b\c.php,在linux/unix系统: /a/b/c.php,为统一建议使用"/"作为目录之间的分割符. 2.目录或文件属性获取函数 *(1)取得文件类

复制文件夹下面所有的文件到另一个地方作为备份

<?php /* *$param 来源文件夹$src *$param 目的地 $des *返回值,true或者false */ function cp($src,$des){ //假如是文件并且目的地不存在则创建目的地,并把文件放在目的地之下 if(is_file($src) && !file_exists($des)){ mkdir($des,0777,true); copy($src,$des.'/'.basename($src)); //假如是目录 }else if(is_di

无聊的周五晚上

hi 现在是周五,的晚上,因为回寝室也似乎没什么事情做,不如在教研室水一水. 1.PHP ---Cookie--- --设置Cookie: PHP设置Cookie最常用的方法就是使用setcookie函数,setcookie具有7个可选参数,我们常用到的为前5个: name( Cookie名)可以通过$_COOKIE['name'] 进行访问value(Cookie的值)expire(过期时间)Unix时间戳格式,默认为0,表示浏览器关闭即失效path(有效路径)如果路径设置为'/',则整个网站