Парни. Как мне собрать дерево каталога и поместить это все в массив?
Я сейчас использую эту функцию
$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
)
)
)
)
То есть, что бы была вложенность, а не отдельно каждый массив?