欲对目录或目录中的文件进行操作时,应先行检测目录是否存在,否则可能会引发异常或错误,PHP 提供了两个函数用于检测目录是否存在:
file_exists()
和
is_dir()
。
file_exists() 函数
检测目录(或文件)是否存在,如果存在则返回
TRUE
,否则返回
FALSE
。
检测脚本文件所在目录是否存在 sample 子目录。
$path = __DIR__.'/sample';
if (file_exists($path)) {
echo "目录或文件存在\n";
} else {
echo "目录或文件不存在\n";
-
file_exists()
函数不仅检测是否存在指定名称的目录,也检测是否存在指定名称的文件。这就可能存在一个潜在的坑,即不存在指定名称的目录,但存在指定名称的文件,也返回
TRUE
。
is_dir() 函数
检测目录是否存在,如果存在则返回
TRUE
,否则返回
FALSE
。
检测脚本文件所在目录是否存在 sample 子目录。
$path = __DIR__.'/sample';
if (is_dir($path)) {
echo "目录存在\n";
} else {
echo "目录不存在\n";
在实际开发中,推荐使用
is_dir()
函数检测目录是否存在,因为其无歧义且根据测试,它的执行效率要高于
file_exist()
函数。
file_exist()
is_dir()