**如何在PHP中準確檢查目錄是否為空? ** **

Patricia Arquette
發布: 2024-10-24 19:21:02
原創
945 人瀏覽過

**How to Accurately Check if a Directory is Empty in PHP?**

PHP:確定目錄是否為空

嘗試在PHP 中檢查目錄是否為空時,會出現一個常見問題:目錄被錯誤地識別為空,反之亦然,無論其實際內容為何。

利用 glob() 和 Scandir

提供的腳本依賴 glob() 來評估目錄內容。然而,glob() 在偵測隱藏的 Unix 檔案方面有局限性,導致結果不可靠。另一種方法是使用 scandir 來代替,確保包含隱藏檔案。

最佳化實作

<code class="php">function is_dir_empty($dir) {
  return (count(scandir($dir)) === 0);
}</code>
登入後複製

此函數掃描目錄,如果目錄為空則回傳true(除了「不包含任何檔案」 ." 和".."),否則為false。

為了提高效率,請考慮以下替代方案:

<code class="php">function dir_is_empty($dir) {
  $handle = opendir($dir);
  while (false !== ($entry = readdir($handle))) {
    if ($entry != "." && $entry != "..") {
      closedir($handle);
      return false;
    }
  }
  closedir($handle);
  return true;
}</code>
登入後複製

此實作避免了不必要的目錄遍歷,並在檢測到非預設值時立即返回false

避免明確賦值

沒有必要在程式碼中將單字指派給布林值。

<code class="php">if (is_dir_empty($dir)) {
  echo "the folder is empty";
} else {
  echo "the folder is NOT empty";
}</code>
登入後複製

以上是**如何在PHP中準確檢查目錄是否為空? ** **的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!