Я хочу, чтобы мой скрипт сканировал рекурсивно,
$files = scandir('/dir');
foreach($files as $file){
if(is_dir($file)){
echo '<li><label class="tree-toggler nav-header"><i class="fa fa-folder-o"></i>'.$file.'</label>';
$subfiles = scandir($rooturl.'/'.$file);
foreach($subfiles as $subfile){
// and so on and on and on
}
echo '<li>';
} else {
echo $file.'<br />';
}
}
Я хотел бы зациклить это таким образом, чтобы для каждого каталога, найденного scandir, он запускал другой scandir в папках, которые были найдены в этом каталоге,
Таким образом, каталог «A» содержит каталог 1/2/3, теперь он должен сканировать (1), сканировать (2), сканировать (3) и так далее для каждого найденного каталога.
Как я могу реализовать это легко, не копируя код снова и снова в каждом foreach?
РЕДАКТИРОВАТЬ: Поскольку ответы почти такие же, как я уже пробовал, я немного обновлю вопрос.
С помощью этого скрипта мне нужно создать древовидный список. С текущими опубликованными скриптами происходит следующее:
/images/dir1/file1.png
/images/dir1/file2.png
/images/dir1/file3.png
/images/anotherfile.php
/data/uploads/avatar.jpg
/data/config.php
index.php
Что мне на самом деле нужно:
<li><label>images</label>
<ul>
<li><label>dir1</label>
<ul>
<li>file1.png</li>
<li>file2.png</li>
<li>file3.png</li>
</ul>
</li>
<li>anotherfile.php</li>
</ul>
</li>
<li><label>data</label>
<ul>
<li><label>uploads</label>
<ul>
<li>avatar.jpg</li>
</ul>
</li>
<li>config.php</li>
</ul>
</li>
<li>index.php</li>
И так далее, Спасибо за уже размещенные ответы!
recursiveIterator
набором классов - php.net/manual/en/class.recursivedirectoryiterator. php - person Professor Abronsius   schedule 10.12.2015