Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah saya boleh menyenaraikan semua fail dalam direktori, termasuk subdirektori, menggunakan PHP?

Bagaimanakah saya boleh menyenaraikan semua fail dalam direktori, termasuk subdirektori, menggunakan PHP?

Susan Sarandon
Susan Sarandonasal
2024-11-03 16:18:03360semak imbas

How can I list all files in a directory, including subdirectories, using PHP?

Menyenaraikan Semua Fail, Termasuk Subdirektori, dalam PHP

Jika anda ingin menyenaraikan semua fail dalam direktori, termasuk yang berada dalam subdirektori, PHP menawarkan penyelesaian yang mudah .

Untuk mencapainya, anda boleh menggunakan gabungan RecursiveDirectoryIterator dan RecursiveIteratorIterator.

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

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

Begini caranya:

  • RecursiveDirectoryIterator mencipta objek yang mewakili direktori dan kandungannya. Ia melelar melalui setiap fail dan subdirektori, menyediakan tatasusunan objek.
  • RecursiveIteratorIterator menambah kefungsian tambahan untuk lelaran melalui objek yang dikembalikan oleh RecursiveDirectoryIterator, membolehkan kami mengakses setiap nama fail.
  • Syarat jika ($nama fail->isDir()) diteruskan; menapis direktori (diwakili oleh . dan ..) daripada senarai fail.

Dengan menyepadukan kedua-dua iterator ini, anda boleh dengan mudah menjana tatasusunan nama fail yang merangkumi kedua-dua fail dalam direktori semasa dan yang terletak dalam subdirektori.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menyenaraikan semua fail dalam direktori, termasuk subdirektori, menggunakan 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