## 如何在 PHP 中可靠地確定目錄是否為空?

DDD
發布: 2024-10-25 04:19:29
原創
912 人瀏覽過

## How to Reliably Determine if a Directory is Empty in PHP?

在PHP 中驗證目錄是否為空

確定目錄是否為空可能是各種Web 開發場景中的一項重要任務。但是,某些腳本可能會遇到問題,即輸出錯誤地建議空或非空目錄,儘管其中存在或不存在檔案。

原始腳本

提供的腳本嘗試使用以下程式碼檢查目錄是否為空:

<code class="php">$q = (count(glob("$dir/*")) === 0) ? 'Empty' : 'Not empty';</code>
登入後複製

但是,glob() 函數可能無法偵測Unix 隱藏文件,從而導致結果不準確。

改進的解決方案

要解決此問題,我們建議使用 scandir() 函數而不是 glob(),因為它可以檢測常規文件和隱藏文件。此外,為了提高效率,我們可以使用自訂函數來更快地檢查是否為空:

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

該函數檢查目錄是否只包含兩個條目:當前目錄(“.”)和父目錄目錄(“..”),表示空目錄。

最佳實踐

作為最佳實踐,建議直接在控制結構中使用布林值,而不是而不是依賴「空」或「非空」等文字字串。布林表達式提供了一種更簡潔、準確的方法來判斷空或非空條件。

例如,不用:

<code class="php">if ($q == "Empty") {
  // ...
}</code>
登入後複製

您可以直接使用:

<code class="php">if (is_dir_empty($dir)) {
  // ...
}</code>
登入後複製

以上是## 如何在 PHP 中可靠地確定目錄是否為空?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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