Salve a tutti. Sono ai primissimi passi col PHP.
Dovrei visualizzare una directory con il suo contenuto. Ho trovato questo script, credo ben conosciuto, che va benissimo per i miei bisogni stampando a schermo la lista con i link ai files.
Il problema è che la lista files esce a schermo con nomi ordinati alfabeticamente solo in locale (xampp) mentre restituisce un elenco caotico dal sito (joomlahost). Ho bisogno di listare in ordine alfabetico visto che i files vengono spesso rieditati e riuppati più volte, pasticciando la data di pubblicazione.
Ho provato cercando di usare natsort, ma con le mie competenze non riesco a cavarci le gambe....
C'è qualcuno che può aiutarmi?
Grazie mille in anticipo
(probabilmente lo script originale è stato cambiato in qualche minima parte per adattarlo ai miei bisogni)
Codice PHP:
<?PHP
# Questa funzione permette di visualizzare un elenco a albero dei file e delle sottocartelle contenuti in $base.
# Ciascun nome visualizzato è un link al file.
# Copyright: Isacco Coccato - www.giacobbe85.altervista.org
# NOTE:
# - Quando si specifica il percorso, NON mettere / alla fine.
# - Le immagini dei file e delle cartelle devono essere nella directory foto/
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 "<UL class=\"testo\">\n";
while (false!==($dir = readdir($handle_dir))) # Legge una voce del finchè non è finita la directory, e la memorizza in $dir
{
if ($dir!="." && $dir!=".." && $dir!="foto") #Evita di stampare "." e ".." e la cartella di servizio
{
$dir_vuota=0;
if(is_dir($base. "/" .$dir))
{
# Codice nel caso di directory
echo '<LI style="list-style-image: url(foto/cartella.gif)"><B>' . $dir . "</B>\n";
elenco_dir($base. "/" .$dir);
echo "</LI>\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) != "php")
echo '<LI style="list-style-image: url(foto/file.gif)"><A href="' .$base . '/' . $dir . '" target="_blank">' . str_replace('_', ' ', substr($dir,0, strrpos($dir,"."))) . "</A></LI>\n";
}
}
}
if ($dir_vuota==1) echo '<LI class="testo" style="list-style-image: url(foto/sbagliato.gif)">Nessun file presente</LI>';
echo "</UL><BR>";
closedir($handle_dir);
}
else #Codice nel caso di percorso non trovato
{
echo "Percorso errato";
}
}
# Chiamata della funzione come esempio
elenco_dir(".");
?>