Buon giorno, dovrei strutturare un menu ad albero, tramite i file contenuti nelle cartelle.
Il problema è che il contenuto delle cartelle varia es:
Cartella Gestione
- Cartella Procedure
- Cartella Assegnazioni
- file.pdf
- file.pdf
- Cartella Programmazione
- file.doc
Insomma questa è una delle situazioni che mi si presentano...
Vorrei capire come mai, lo script che posto va bene soltanto per strutture come questa:
- Cartella Procedure
- Cartella Assegnazioni
- file.pdf
ed invece non per questa:
- Cartella Programmazione
- file.doc
codice:
<ul style="list-style-type:none;" id="menu1">
[*]SERVIZIO GESTIONE
<?php
$path="../DOC/Gestione/";
if (is_dir($path)) {
if ($handle = opendir($path)) {
/* Questa è la maniera corretta di eseguire un loop all'interno di una directory. */
echo "<ul class=\"tree-menu\">";
//vedo la cartella
while (false !== ($file = readdir($handle))) {
if(($file != '.') && ($file != '..') && ($file != 'Thumbs.db')){
echo "[*]Cartella1<a href=\"javascript:void(0)\">".strtoupper(str_replace("_"," ",$file))."</a>";
$path2=$path.$file."/";
//submenu a cartelle
if (is_dir($path2)) {
if ($handle2 = opendir($path2)) {
echo "2<ul>";
//vedo la cartella mese
while (false !== ($file2 = readdir($handle2))) {
if(($file2 != '.') && ($file2 != '..') && ($file2 != 'Thumbs.db')){
if (!is_dir($handle2)) {
echo "[*]File<a href=\"".$path2.$file2."\">".strtoupper(str_replace("_"," ",$file2))."</a>";
}
else{
echo "[*]Cartella<a href=\"javascript:void(0)\">".strtoupper(str_replace("_"," ",$file2))."</a>";
}
//echo "[*]Cartella2<a href=\"javascript:void(0)\">".strtoupper(str_replace("_"," ",$file2))."</a>";
$path3=$path2.$file2;
//submenu file
if (is_dir($path3)) {
if ($handle3 = opendir($path3)) {
echo "<ul>";
//vedo i file
while (false !== ($file3 = readdir($handle3))) {
if(($file3 != '.') && ($file3 != '..') && ($file3 != 'Thumbs.db') && ($file3!='leggi')){
echo "[*]file<a href=\"".$path3.'/'.$file3."\">".strtoupper(str_replace("_"," ",$file3))."</a>";
}
}//close while 3
echo "";
}
echo "[/list]";
}
echo "";
}
}//close while 2
}
}
echo "[/list]";
}
}//close while 1
echo "[/list]";
closedir($handle);
}
}
?>
[/list]
Grazie mille...