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
Grazie mille...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]

Rispondi quotando