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

如何在 PHP 中递归列出文件和子目录?

Mary-Kate Olsen
发布: 2024-11-13 10:10:02
原创
695 人浏览过

How to Recursively List Files and Subdirectories in PHP?

在 PHP 中递归列出文件和子目录

列出给定目录中的所有子目录、文件和子文件夹可能是一项常见任务。在 PHP 中,这可以使用 scandir() 函数来实现。

让我们考虑一个具有以下目录结构的场景:

<br>Main Dir<br>目录1<br>子目录1<br>文件1<br>文件2<br>子目录2<br>文件3<br>文件4<br>目录2<br>子目录3<br>文件5<br>文件6<br>子目录4<br>文件7<br> File8<br>
登录后复制

您的目标是检索每个文件夹中包含的所有文件的列表。

解决方案

PHP 不提供与 ls 等 shell 脚本命令直接等效的命令。但是,您可以使用 PHP 函数实现递归列表。下面是示例代码片段:

function listFolderFiles($dir){
    $ffs = scandir($dir);

    unset($ffs[array_search('.', $ffs, true)]);
    unset($ffs[array_search('..', $ffs, true)]);

    if (count($ffs) < 1)
        return;

    echo '<ol>';
    foreach($ffs as $ff){
        echo '<li>'.$ff;
        if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff);
        echo '</li>';
    }
    echo '</ol>';
}
登录后复制

用法

使用要处理的目录路径调用 listFolderFiles() 函数,如下所示:

listFolderFiles('Main Dir');
登录后复制

该函数将输出代表目录结构的分层组织的 HTML 列表,并相应列出文件和子目录。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板