PHP:递归列出子目录中的文件
列出目录中的所有文件(包括子目录),并将结果存储在数组中, PHP 提供了多个可以协同工作的内置函数。
使用 RecursiveIteratorIterator 和 RecursiveDirectoryIterator
以下代码演示了如何实现您想要的结果:
<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>
说明
RecursiveDirectoryIterator 类创建一个迭代指定路径中的文件和目录的对象。 RecursiveIteratorIterator 类提供对 RecursiveIterator 对象的递归迭代,确保也探索子目录。
通过过滤掉“.”和使用 isDir() 方法的“..”目录,我们只将实际文件添加到 $files 数组中。
PHP 文档
以上是如何使用 PHP 递归列出子目录中的文件?的详细内容。更多信息请关注PHP中文网其他相关文章!