在 PHP 中检查目录是否为空
要验证目录是否为空,利用 PHP 的函数是有效的。然而,根据具体需求选择合适的函数至关重要。
原始方法和问题
提供的脚本使用 glob 函数来扫描目录。当不存在文件时,它应该指示“空”。但是,尽管存在文件,该脚本错误地声称目录为空,反之亦然。
改进的实现
要解决此问题,请考虑使用 scandir 函数而不是 glob,因为 glob 可能会忽略隐藏文件。下面改进的代码包含了此更改:
最优解
为了提高效率,存在更优化的解决方案:
function dir_is_empty($dir) {
$handle = opendir($dir);
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
closedir($handle);
return false;
}
}
closedir($handle);
return true;
}
?>
该函数检查目录句柄,直接返回 true 或 false,而不是对文件进行计数。
命名约定建议
而且,通常建议在控制结构中使用布尔值(true 或 false)而不是字符串值(“空”或“非空”)以避免混淆。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3