@Kirill-Gorelov
С ума с IT

Дерево катала папки на php?

Парни. Как мне собрать дерево каталога и поместить это все в массив?
Я сейчас использую эту функцию
$root = $_SERVER['DOCUMENT_ROOT'];
    function getDirContents($dir, &$results = array()){
    $files = scandir($dir);
    foreach($files as $key => $value){
        $path = realpath($dir.DIRECTORY_SEPARATOR.$value);
        if(!is_dir($path)) {
            $results[] = $path;
        } else if($value != "." && $value != "..") {
            getDirContents($path, $results);
            $results[] = $path;
        }
    }
    return $results;
}
var_dump(getDirContents($root));

Она выводит мне список деррикторий
array(505) {
  [0]=>
  string(37) "/opt/lampp/htdocs/coin/arbitr-all.php"
  [1]=>
  string(35) "/opt/lampp/htdocs/coin/arbitr-a.php"
  [2]=>
  string(35) "/opt/lampp/htdocs/coin/arbitr-c.php"
  [3]=>
  string(37) "/opt/lampp/htdocs/coin/arbitr-fon.php"
  [4]=>
  string(36) "/opt/lampp/htdocs/coin/arbitr-nn.php"
  [5]=>
  string(35) "/opt/lampp/htdocs/coin/arbitr-n.php"
  [6]=>
  string(48) "/opt/lampp/htdocs/coin/arbitr-n (копия).php"
  [7]=>
  string(33) "/opt/lampp/htdocs/coin/arbitr.php"
  [8]=>
  string(31) "/opt/lampp/htdocs/coin/birj.php"
  [9]=>
  string(40) "/opt/lampp/htdocs/coin/data/flot-data.js"
  [10]=>
  string(42) "/opt/lampp/htdocs/coin/data/morris-data.js"
  [11]=>
  string(27) "/opt/lampp/htdocs/coin/data"
  [12]=>
  string(46) "/opt/lampp/htdocs/coin/dist/css/sb-admin-2.css"
  [13]=>
  string(50) "/opt/lampp/htdocs/coin/dist/css/sb-admin-2.min.css"
  [14]=>
  string(31) "/opt/lampp/htdocs/coin/dist/css"
  [15]=>
  string(44) "/opt/lampp/htdocs/coin/dist/js/sb-admin-2.js"
  [16]=>
  string(48) "/opt/lampp/htdocs/coin/dist/js/sb-admin-2.min.js"
  [17]=>
  string(30) "/opt/lampp/htdocs/coin/dist/js"
  [18]=>
  string(27) "/opt/lampp/htdocs/coin/dist"
.........


Как мне переделать, что бы массив был типо такого
array(
	dir=> dist, 
		array(
			file=>1, 
			file=> 2, 
			file=> 3, 
				array(
					dir=>data, 
						array(
							file=>5, 
							file=>6
						)
					)
				)
			)


То есть, что бы была вложенность, а не отдельно каждый массив?
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
@Yan-s
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы