is_file 只判断文件是否存在;
代码如下 | 复制代码 |
<?php $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 判断文件是否存在或者是目录是否存在;
代码如下 | 复制代码 |
<?php echo file_exists("test.txt"); ?> 输入 1 |
is_dir 判断目录是否存在;
例子
代码如下 | 复制代码 |
<?php $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 |
时间: 2024-10-02 21:36:41