当前位置:Gxlcms > PHP教程 > php中is_file和file_exists与is_dir的区别_PHP教程

php中is_file和file_exists与is_dir的区别_PHP教程

时间:2021-07-01 10:21:17 帮助过:13人阅读

本文章介绍了php中is_file和file_exists与is_dir的区别,有需要的朋友可参考一下。

is_file 只判断文件是否存在;

代码如下


$file = "test.txt";   
if(is_file($file)) {   
echo ("$file is a regular file");   
}else {   
echo ("$file is not a regular file");   
}   
?>   

输出:test.txt is a regular file

file_exists 判断文件是否存在或者是目录是否存在;

代码如下

echo file_exists("test.txt");
?>

输入

1

is_dir 判断目录是否存在;

例子

代码如下

$file = "images";
if(is_dir($file))
{
echo ("$file is a directory");
}
else
{
echo ("$file is not a directory");
}
?>

输出:

images is a directory

查看手册,虽然这两个函数的结果都会被缓存,但是is_file却快了N倍。

还有一个值得注意的:

文件存在的情况下,is_file比file_exists要快N倍;
文件不存在的情况下,is_file比file_exists要慢;
结论是,file_exits函数并不会因为该文件是否真的存在而影响速度,但是is_file影响就大了

测试

代码如下

文件存在(当前目录)
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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631588.htmlTechArticle本文章介绍了php中is_file和file_exists与is_dir的区别,有需要的朋友可参考一下。 is_file 只判断文件是否存在; 代码如下 ?php $file =...

人气教程排行