PHP 文件处理:检测文件是否存在
很多时候,我们在对文件进行操作时,应先行检测文件是否存在,否则可能会引发异常或错误。PHP 中有两个函数可用于检测文件是否存在:file_exists()
和 is_file()
。
使用 file_exists() 函数
如果指定的文件(或目录)存在则返回 TRUE,否则返回 FALSE。
<?php
$path = 'sample.txt';
if (file_exists($path)) {
echo "文件或目录存在\n";
} else {
echo "文件或目录不存在\n";
}
?>
注意:
file_exists()
函数不仅可检测文件是否存在,也可检测目录是否存在。那么就可能存在一个潜在的坑,即不存在指定名称的文件,但存在指定名称的目录,也返回 TRUE。
使用 is_file() 函数
如果指定的文件存在则返回 TRUE,否则返回 FALSE。
<?php
$filename = 'sample.txt';
if (is_file($filename)) {
echo "文件存在\n";
} else {
echo "文件不存在\n";
}
?>
结语
在实际开发中,推荐使用 is_file()
函数检测文件是否存在,因为其无歧义且根据测试其执行效率要高于 file_exist()
函数。