如何只列出某个文件夹中的所有目录和子目录

how to list only all directories and subdirectories in a certain folder

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

/* 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>';
}

这很好用!我需要更改他只显示目录而不是文件的代码吗?

改变

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>';
    }
}