Penso che se posto il codice che genera questo mostro, il problema sarà più chiaro.
Codice PHP:
<?php
function read_folder_directory($dir) {
    
$listDir = array();
    if(
$handler opendir($dir)) {
        while ((
$sub readdir($handler)) !== FALSE) {
            if (
$sub != "." && $sub != ".." ) {
                if(
is_file($dir."/".$sub)) {
                    
$listDir[] = $sub;
                } elseif (
is_dir($dir."/".$sub)){
                    
$listDir[$sub] = read_folder_directory($dir."/".$sub);
                }
            }
        }
        
closedir($handler);
    }
    return 
$listDir;



$array = array();
$dir 'files'// metti quì il percorso da cui partire nella lettura del filesystem
$exclude ".|..";
$array read_folder_directory($dir); 
echo 
"<pre>\n";
print_r($array);
echo 
"</pre>\n";
?>