Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Menyenaraikan Fail Secara Rekursif daripada Semua Subdirektori dalam PHP?

Bagaimanakah Saya Boleh Menyenaraikan Fail Secara Rekursif daripada Semua Subdirektori dalam PHP?

DDD
DDDasal
2024-11-03 14:27:30166semak imbas

How Can I Recursively List Files from All Subdirectories in PHP?

Senaraikan Fail Secara Rekursif daripada Semua Subdirektori dalam PHP

Dalam PHP, senarai semua fail dalam fungsi direktori boleh dipanjangkan untuk mendapatkan semula fail daripada subdirektori secara rekursif. Ini boleh menjadi berharga untuk mengatur dan mengakses fail dalam struktur direktori yang kompleks.

Penyelesaian:

Untuk menyenaraikan fail secara rekursif daripada semua subdirektori, anda boleh menggunakan kod berikut:

<code class="php">foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator('.')) as $filename) {
    if ($filename->isDir()) {
        continue;
    }

    echo "$filename\n";
}</code>

Penjelasan:

  • RecursiveDirectoryIterator: Mencipta lelaran direktori rekursif baharu yang berulang ke atas fail dan direktori dalam direktori tertentu.
  • RecursiveIteratorIterator: Membungkus iterator di atas dan menyediakan keupayaan penapisan dan pemprosesan tambahan.

Hasil:

The kod mencipta struktur seperti tatasusunan ($fail) yang mengandungi semua fail daripada semasa dan semua subdirektori. Outputnya ialah senarai fail dan laluannya:

file.jpg
blah.word
name.fileext

Sumber Tambahan:

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

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyenaraikan Fail Secara Rekursif daripada Semua Subdirektori dalam 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