Altra idea

codice:
function dir_tree_sup($path='.') {
 if(!($dir = opendir($path))) return 0;
 $natSortArray = array();
 $tagAArray    = array();
 $i            = 0;
 while($file = readdir($dir)) {
  //se il file letto è una directory diversa da "." e ".."
  if(is_dir("$path/$file") && ($file != '.') && ($file != '..') && ($file != 'files') && ($file != 'comandi') && ($file != 'download') && ($file != 'link') && ($file != 'homepage') && ($file != 'chisiamo') && ($file != 'servizi') && ($file != 'news') && ($file != 'recapiti') && ($file != 'gennaio') && ($file != 'febbraio') && ($file != 'marzo') && ($file != 'aprile') && ($file != 'maggio') && ($file != 'giugno') && ($file != 'luglio') && ($file != 'agosto') && ($file != 'settembre') && ($file != 'ottobre') && ($file != 'novembre') && ($file != 'dicembre')) {
    $tagAArray[$i]    = "<A HREF=\"../page/$file/index.php\">× $file</A>";
    $natSortArray[$i] = "$file";
    $i++;
  }
 }
 closedir($dir); //chiudo la dir
 natsort($natSortArray);
 foreach($natSortArray as $key => $value) {
  echo $tagAArray[$key];
 }
 return 1;
}