beh, ritorna un'array che definisci fuori dal ciclo:

Codice PHP:
function apri($dir){ 
  
$ret = array();
  if (
is_dir($dir)) { 
    if (
$dh opendir($dir)) { 
        while ((
$file readdir($dh)) !== false) {
            if(
$file != "." && $file != "..") { 
            if (
is_dir($dir."/$file")){
              
$ret[] = apri($dir."/$file");
            } 
            else 
$ret[] = $file
            } 
        } 
        
closedir($dh); 
    } 
  } 
  return 
$ret;


$allFiles apri($dir);

print_r($allFiles);