Ich sehe auch keine Übergaben als Referenz. Ist aber auch nicht unbedingt nötig. Eine kleine Ergänzung bringt schon ein Resultat. Ob es dann genau dem entspricht, das du haben möchtest, weiss ich natürlich nicht.
PHP-Code:
$aFiles = array();
$aFileStructure = array();
$aFileNames = array();
$sStartDir = "test";
function get_dir ($dir, $aFileStructure, $aFileNames, $cnt = false, $dirname = false)
{
$aFileNames = array(); // Lokale Deklaration
$fp=opendir($dir);
$i = 1;
while($datei=readdir($fp))
{
if($datei == '.' || $datei == '..') continue;
if (is_dir("$dir/$datei"))
{
$aFileStructure[$i] = $datei;
array_push($aFileNames, get_dir("$dir/$datei", $i, $aFileStructure)); // Zurückgegebenen Array an den lokalen anhängen
$i++;
}
else
{
$aFileNames[$dirname[$cnt]][] = $datei;
}
}
//print_r($aFileNames);
closedir($fp);
return $aFileNames;
}
$aFiles = get_dir($sStartDir, $aFileStructure, $aFileNames);
var_dump($aFiles);