在侧边栏中显示文件夹和子文件夹

时间:2017-05-10 10:50:20

标签: php html for-loop foreach while-loop

我有一个文件夹' server'在服务器内部,我有另一个文件夹' computer1'和' computer2'在computer1里面我有更多的文件夹,在computer2里面我也有更多的文件夹

所以我有一个侧边栏,直到现在我把它放在显示计算机1和计算机2

<ul class="nav side-menu">
             <?php

              foreach (glob('server/sandro/*', GLOB_ONLYDIR)as$subfolder) {
                  echo '<li><a><i class="fa fa-home"></i>'. basename($subfolder) .'<span class="fa fa-chevron-down"></span></a>';
                  echo '<ul class="nav child_menu">';
                  echo '</ul>';
                  echo '</li>';
              }

             ?>
            </ul>

并且井......结果,但现在我想添加内部      echo '<ul class="nav child_menu">'; echo '</ul>';

计算机1和计算机2内的其余子文件夹

拜托,帮助我。

1 个答案:

答案 0 :(得分:1)

您好,您必须使用function并自行调用函数

<ul class="nav side-menu">

<?php
function foldersList($folderName = NULL) {

$return = '';

foreach (glob('./server/sandro/' . $folderName . '*', GLOB_ONLYDIR) as $subfolder) {

    // call function to check subfolders - don't forget write `/`
    $subFolders = foldersList(basename($subfolder). '/');

    $return .= '<li><a><i class="fa fa-home"></i>' . basename($subfolder) . '<span class="fa fa-chevron-down"></span></a>';
    $return .= '<ul class="nav child_menu">';

    // if subfolder exist add to return variable
    $return .= $subFolders != '' ? $subFolders : '';

    $return .= '</ul>';
    $return .= '</li>';
   }

   return $return;
}

echo foldersList();
?>
</ul>