function elenco_dir($base)
{
$dir_vuota=1; #Flag per il controllo della directory vuota
if ($handle_dir = opendir($base)) # Apre la directory, e verifica che il percorso sia corretto
{
echo "
\n";
while (false!==($dir = readdir($handle_dir))) #Legge una voce del finchè non è finita la directory, e la memorizza in $dir
{
if ($dir!="." && $dir!="..") #Evita di stampare "." e ".."
{
$dir_vuota=0;
if(is_dir($base. "/" .$dir))
{
#Codice nel caso di directory
echo '- ' . $dir . "\n";
elenco_dir($base. "/" .$dir);
echo "
\n";
}
else
{
#Codice nel caso di file
#Evita di stampare alcuni tipi di file
#Elimina l'estensione dei file, qualunque sia la sua lunghezza, e anche se compaiono altri punti nel nome del file
if ($dir != "." && $dir != ".." && $dir != "file_da_non_mostrare.est" && substr($dir,-3,3) != "estensione_da_non_mostrare")
{
echo '- ' . str_replace('_', ' ', substr($dir,0, strrpos($dir,"."))) . "
\n";
}
}
}
}
if ($dir_vuota==1) echo '- Nessun file presente
';
echo "
";
closedir($handle_dir);
}
else #Codice nel caso di percorso non trovato
{
echo "Percorso errato";
}
}
#Chiamata della funzione come esempio
elenco_dir(".");
?>