首页 >后端开发 >php教程 >如何在 PHP 中递归列出目录中的所有文件?

如何在 PHP 中递归列出目录中的所有文件?

DDD
DDD原创
2024-11-03 22:06:31323浏览

How do I recursively list all files in a directory in PHP?

PHP 中的递归文件列表

检索目录中所有文件的列表是 PHP 中的一项常见任务。但是,如果您还需要包含子目录中的文件怎么办?本指南探讨如何实现此目的。

解决方案

要列出目录中的所有文件(包括子目录中的文件),您可以使用以下代码:

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

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

说明

此解决方案使用了 PHP 标准库中的两个类:RecursiveDirectoryIterator 和 RecursiveIteratorIterator。让我们分解一下代码:

  • RecursiveDirectoryIterator('foldername'): 初始化 'foldername' 中指定的文件夹的目录迭代器。
  • new RecursiveIteratorIterator($directoryIterator): 创建一个迭代器,递归地迭代指定目录中的所有目录和文件。

后续循环迭代目录和子目录中的所有文件,打印如果不是目录,则为它们的名称。

PHP 文档

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

以上是如何在 PHP 中递归列出目录中的所有文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn