Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menyenaraikan Fail secara Rekursif dalam Subdirektori dengan PHP?

Bagaimana untuk Menyenaraikan Fail secara Rekursif dalam Subdirektori dengan PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-03 17:59:29967semak imbas

How to Recursively List Files in Subdirectories with PHP?

PHP: Menyenaraikan Fail Secara Rekursif dalam Subdirektori

Untuk menyenaraikan semua fail dalam direktori, termasuk subdirektori dan menyimpan hasilnya dalam tatasusunan, PHP menawarkan beberapa fungsi terbina dalam yang berfungsi bersama.

Menggunakan RecursiveIteratorIterator dan RecursiveDirectoryIterator

Kod berikut menunjukkan cara untuk mencapai hasil yang anda inginkan:

<code class="php">$directory = "foldername";

// Create a RecursiveDirectoryIterator object for the specified directory
$directoryIterator = new RecursiveDirectoryIterator($directory);

// Create a RecursiveIteratorIterator object for the directory iterator
$iterator = new RecursiveIteratorIterator($directoryIterator, RecursiveIteratorIterator::SELF_FIRST);

// Initialize an empty array to store the file names
$files = [];

// Iterate over the files in the directory
foreach ($iterator as $filename) {
    // Filter out "." and ".." directories
    if ($filename->isDir()) {
        continue;
    }

    // Add the file name to the array
    $files[] = $filename;
}</code>

Penjelasan

Kelas RecursiveDirectoryIterator mencipta objek yang berulang melalui fail dan direktori dalam laluan yang ditentukan. Kelas RecursiveIteratorIterator menyediakan lelaran rekursif ke atas objek RecursiveIterator, memastikan subdirektori turut diterokai.

Dengan menapis keluar "." dan direktori ".." dengan kaedah isDir(), kami hanya menambah fail sebenar pada tatasusunan $files.

Dokumentasi PHP

  • [RecursiveDirectoryIterator] (https://www.php.net/manual/en/class.recursivedirectoryiterator.php)
  • [RecursiveIteratorIterator](https://www.php.net/manual/en/class.recursiveiteratoriterator.php )

Atas ialah kandungan terperinci Bagaimana untuk Menyenaraikan Fail secara Rekursif dalam Subdirektori dengan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn