如何仅列出特定文件夹中的所有目录和子目录

时间:2019-01-20 20:33:49

标签: php treeview scandir

对于树状视图,我使用此功能,该功能为我提供了主目录中所有文件和文件夹的完整摘要:

/* FUNCTION TREEVIEW directories & files */
function listFolderFiles($dir){
$files = preg_grep('/^([^.])/', scandir($dir));

// prevent empty ordered elements
if (count($files) < 1)
    return;

echo '<ul>';
foreach($files as $file){
    echo '<li class="treeview">'.$file;
    if(is_dir($dir.'/'.$file)) listFolderFiles($dir.'/'.$file);
    echo '</li>';
}
echo '</ul>';
}

这很好!我必须对他仅显示目录而不显示文件的代码进行什么更改?

1 个答案:

答案 0 :(得分:1)

更改

foreach($files as $file){
    echo '<li class="treeview">'.$file;
    if(is_dir($dir.'/'.$file)) listFolderFiles($dir.'/'.$file);
    echo '</li>';
}

收件人

foreach($files as $file){
    if(is_dir($dir.'/'.$file)) {
        echo '<li class="treeview">'.$file;
        listFolderFiles($dir.'/'.$file);
        echo '</li>';
    }
}