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
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!