Список папок и подпапок, но не файлов

Я исследовал, но не нашел своего ответа, знаете ли вы, как найти все подобные папки и подпапки, но НЕ файлы?

<ul>
   <li><a href = "/Folder1">Folder 1</a></li>
       <ul>
           <li><a href = "/Folder1/Subfolder1">Subfolder 1</a></li>
           <li><a href = "/Folder1/Subfolder2">Subfolder 2</a></li>
           <li><a href = "/Folder1/Subfolder3">Subfolder 3</a></li>
       </ul>
   <li><a href = "/Folder2">Folder 2</a></li>
       <ul>
           <li><a href = "/Folder2/Subfolder1">Subfolder 1</a></li>
           <li><a href = "/Folder2/Subfolder2">Subfolder 2</a></li>
       </ul>
   <li><a href = "/Folder3">Folder 3</a></li>
</ul>

Я нашел этот код в stackoverflow, но он показывает файлы, и я не знаю, как сделать папку пути для href:

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('/Applications/MAMP/htdocs/Test');

Вы можете показать нам примеры своего исследования?

Script47 01.05.2018 14:56

Рассмотрите возможность использования RecursiveDirectoryIterator.

Script47 01.05.2018 14:57

$ dirs = фильтр_массива (glob ('*'), 'is_dir'); echo '<ul>'; for ($ i = 0; $ i <count ($ dirs); $ i ++) {echo '<li> <a href = "#">'. $ dirs [$ i]. '</a> </ li > '; } echo '</ul>'; Вот что я сделал

Bambou 01.05.2018 15:37
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
44
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Просто проверьте, находится ли файл в каталоге:

foreach($ffs as $ff){

  if (!is_dir($ff)) {
     continue;
  }

  echo '<li>'.$ff;
  if (is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff);
  echo '</li>';
}

Другие вопросы по теме