Il fatto e' che in base al tipo di output, le cose cambiano.
Se a te serve solo l'elenco dei file/cartelle senza opzioni di sorting e senza riprodurre la struttura dell'albero, si fa tutto con poche righe di codice: Se hai php5, usi il recursivedirectoryiterator, e prendi le informazioni dal splfileinfo.. una cosa tipo:
Se invece hai bisogno di opzioni di sorting, e di riprodurre l'albero, etc - vai con scandir/opendir, fai il ciclo, e le info le prendi con filmtime(), filesize(), etc, e poi l'idea e' la stessa, solo che usi la ricorsione.Codice PHP:
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/percorso/alla/cartella'),1) as $f=>$i){
echo '<entry type="'.$i->getType().'" abspath="'.$i->getRealPath().'" size="'.$i->getSize().'">'.$i->getFilename().'</entry>'."\n";
}
Prova anche a dare un occhiata qui: http://www.weberdev.com/get_example-4472.html