как перечислить только все каталоги и подкаталоги в определенной папке - PullRequest
0 голосов
/ 20 января 2019

Для просмотра дерева я использую эту функцию, которая дает мне полную сводку всех файлов и папок в главном каталоге:

/* 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 голосов
/ 20 января 2019

Изменить

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