PHP 文件处理:检测文件是否存在 1 个改进

很多时候,我们在对文件进行操作时,应先行检测文件是否存在,否则可能会引发异常或错误。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() 函数。

参考

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!