У меня есть сайт в настоящее время, чтобы отобразить все каталоги и подкаталоги (на MAC OS) Так что есть здесь кодRecursiveIteratorIterator - форматирование массива
$Directory = new RecursiveDirectoryIterator('/');
$Iterator = new RecursiveIteratorIterator($Directory);
foreach($Iterator as $name => $object){
echo "$name<br/>";
}
так отзовется из всех реальной стези каталог (в настоящее время работает на среде Windows)
C:\xampp\apache\bin
C:\xampp\apache\bin\.
C:\xampp\apache\bin\..
C:\xampp\apache\bin\ab.exe
C:\xampp\apache\bin\abs.exe
C:\myfolder\mysubfolder
C:\myfolder\mysubfolder\.
C:\myfolder\mysubfolder\..
C:\myfolder\mysubfolder\anotherfile.php
C:\myfolder\mysubfolder\another_folder
C:\myfolder\mysubfolder\another_folder\.
C:\myfolder\mysubfolder\another_folder\..
C:\myfolder\mysubfolder\another_folder\file.txt
То, что я хочу сделать, это, чтобы отобразить в списке так что-то вроде:
C:\
xampp\
apache\
bin\
ab.exe
abs.exe
myfolder\
mysubfolder\
anotherfile.php\
another_folder\
file.txt
Можно ли форматировать данные в массиве, как указано выше, а не полный путь? Я не уверен, как использовать «взрывать» и группировать их в новый массив ...?
HI снова, я попробовал этот код:
foreach($objects as $name => $object){
$newname=explode('\\', $name);
print_r($newname);
}
и это мне дает:
array = { [0] => C:\
[1]=>xampp
[2]=>apache
[3]=>bin}
array = { [0] => C:\
[1]=>xampp
[2]=>apache
[3]=>bin
[4]-> . }
array = { [0] => C:\
[1]=>xampp
[2]=>apache
[3]=>bin
[4]=>.
[5]=>. . }
array = { [0] => C:\
[1]=>xampp
[2]=>apache
[3]=>bin
[4]=>ab.exe }
array = { [0] => C:\
[1]=>xampp
[2]=>apache
[3]=>bin
[4]=>abs.exe }
Теперь, я не знаю, как цикл их так, что они отзовутся в группе например,
xampp
apache
bin
ab.exe
abs.exe
благодаря
С 'RecursiveIteratorIterator' итерации по дереву, как будто это квартира, щадящим вам информацию о глубине, это, вероятно, неправильный инструмент здесь. Вы хотите вручную рекурсивно перебирать и отслеживать глубину. – deceze