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() 函数。
PHP 社区 Wiki
关于 LearnKu