PHP file_exists函数检查文件是否存在

发布时间:2020-06-27编辑:脚本学堂
本文介绍了php file_exists函数的用法,在php中file_exists用于检查文件是否存在,成功返回true,否则为false,来看几个file_exists的例子吧。

PHP file_exists函数检查文件是否存在

file_exists() 函数用于检查一个文件或目录是否存在

file_exists()

file_exists函数检查文件或目录是否存在,成功返回 TRUE,否则返回 FALSE 。
语法:
bool file_exists( string filename )

例子:
 

复制代码 代码示例:
<?php
$filename = 'test.txt';
if (file_exists($filename)) {
    echo "文件 $filename 存在";
} else {
    echo "文件 $filename 不存在";
}
?>

附,php is_file和file_exists效率比较

在php中判定文件存在与否,is_file()还是file_exists()?
is_file和file_exists两者效率比较起来,哪个运行速度更快,哪个效率更好呢?

例子:
 

复制代码 代码示例:
<?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;
}
} // www.jb200.com
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