首頁  >  文章  >  後端開發  >  如何使用 PHP 計算目錄中的檔案數量:Opendir/Readdir 與 FilesystemIterator?

如何使用 PHP 計算目錄中的檔案數量:Opendir/Readdir 與 FilesystemIterator?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-05 03:11:02138瀏覽

How to Count Files in a Directory with PHP: Opendir/Readdir vs. FilesystemIterator?

使用 PHP 計算目錄中的檔案

在 PHP 中處理目錄時,確定其中存在的檔案數量通常很有用。為此,可以使用多種方法。

方法 1:使用 Opendir() 和 Readdir()

傳統方法包括使用 opendir() 和 readdir( ) 函數。這些函數需要明確的目錄路徑操作和對檔案的手動迭代。如您提供的程式碼片段所示:

<code class="php">$dir = opendir('uploads/');
$i = 0;
while (false !== ($file = readdir($dir))) {
    if (!in_array($file, array('.', '..') and !is_dir($file)) $i++;
}
echo "There were $i files";</code>

雖然此方法有效,但在某些情況下可能很麻煩。

方法 2:使用 SPL FilesystemIterator

更現代的替代方案是利用 SPL FilesystemIterator 類別。此迭代器允許更方便、更有效率的目錄掃描。以下是範例:

<code class="php">$fi = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS);
printf("There were %d Files", iterator_count($fi));</code>

在此程式碼中:

  • __DIR__ 表示目前目錄路徑。
  • FilesystemIterator::SKIP_DOTS 指示迭代器忽略隱藏檔案(以句點開頭)。
  • iterator_count() 傳回目錄中的檔案總數。

此方法簡化了程式碼,並為計算目錄中的檔案提供了更優雅的解決方案。一個目錄。

以上是如何使用 PHP 計算目錄中的檔案數量:Opendir/Readdir 與 FilesystemIterator?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn