Я пытаюсь получить такое поведение, как команда «tree» в Linux или Unix-системах, где функция возвращает список или массив каталогов в своем полном пути.
пример
~/ ~/Pictures ~/Movies ~/Downloads ~/Documents ~/Documents/work ~/Documents/important ~/Documents/bills ~/Music ~/Music/80s/
и т.д …. и т.д. …
foreach (new RecursiveIteratorIterator (new RecursiveDirectoryIterator ('.')) as $x) { echo $x->getPathname (), "\n"; }
Обновление # 1:
Если вы хотите также указать пустые каталоги, используйте RecursiveIteratorIterator :: CHILD_FIRST
foreach (new RecursiveIteratorIterator (new RecursiveDirectoryIterator ('.'), RecursiveIteratorIterator::CHILD_FIRST) as $x) { echo $x->getPathname (), "\n"; }
Оформить рекурсивный справочник PHP. Он будет делать то, что вам нужно, и у него есть интересные примеры.