使用php列出目录中的所有文件夹子文件夹和文件
P粉891237912
P粉891237912 2023-08-27 16:21:06
[PHP讨论组]
<p>请给我一个使用 php 列出目录中所有文件夹、子文件夹、文件的解决方案。我的文件夹结构是这样的:</p> <pre class="brush:php;toolbar:false;">Main Dir Dir1 SubDir1 File1 File2 SubDir2 File3 File4 Dir2 SubDir3 File5 File6 SubDir4 File7 File8</pre> <p>我想获取每个文件夹内所有文件的列表。</p> <p><strong>php中有shell脚本命令吗?</strong></p>
P粉891237912
P粉891237912

全部回复(2)
P粉738346380

显示文件夹结构的一种非常简单的方法是使用 RecursiveTreeIterator 类(PHP 5 >= 5.3.0、PHP 7)并生成 ASCII 图形树。

$it = new RecursiveTreeIterator(new RecursiveDirectoryIterator("/path/to/dir", RecursiveDirectoryIterator::SKIP_DOTS));
foreach($it as $path) {
  echo $path."<br>";
}

http://php.net/manual/en/class.recursivetreeiterator.php

通过使用 RecursiveTreeIterator::setPrefixPart 更改前缀,还可以对树的 ASCII 表示进行一些控制,例如 $it->setPrefixPart(RecursiveTreeIterator::PREFIX_LEFT, "| ");

P粉482108310
function listFolderFiles($dir){
    $ffs = scandir($dir);

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

    // prevent empty ordered elements
    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('Main Dir');
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号