在 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