Ciao ragazzi ho crato questo sorgente che dovrebbe crearmi la seguente struttura :
|-> CARTELLA 1
|'-> CARTELLA 1.1
|'-> CARTELLA 1.2
|'-> CARTELLA 1.3
|-> CARTELLA 2
|'-> CARTELLA 2.1
|'-> CARTELLA 2.2
|-> CARTELLA 3
|-> CARTELLA 4
|'-> CARTELLA 4.1
Se esisto dei file non li tengo in cosiderazione adoperando la funzione is_dir($file).
Il problema che anke se il codice SEMBRA GIUSTO non ottengo il risultato su indicato
Infatti nelle cartelle di livello 1 (CARTELLA 1, CARTELLA 2, CARTELLA 3, CARTELLA 4) vengono visualizzate tutte le cartelle, ma nelle cartelle di livello 2 (CARTELLA 1.1, CARTELLA 1.2, CARTELLA 1.3, CARTELLA 2.1,..............,CARTELLA 4.1) non vengono visualizzate tutte le cartelle ma solo alcune (SENZA CRITERIO), non riesco a capire xkè non vengano visualizzate tutte le subcartelle.
Vi allego il sorgente
<html>
<head>
<title>Elenco cartelle e sottocartelle</title>
</head>
<body>
<select name="cartella">
<?php
if($handle=opendir('.')){
while(false!=($file=readdir($handle))){
if($file!="." && $file!=".." && is_dir($file)){
echo"<option value=\"$file\">|-> $file</option>\n";
$handle2=opendir($file);
while(false!==($files=readdir($handle2))){
if($files!="." && $files!=".." && is_dir($files))
echo"<option value=\"$file\\$files\">|'->$files</option>\n";
}
closedir($handle2);
}
}
closedir($handle);
}
?>
</select>
</body>
</html>
Cmq penso che non vengono visualizzate le cartelle di livello 2 xkè il secondo ciclo while viene eseguito una sola volta e se (TRAMITE IL FILE SYSTEM) viene riconosciuto un file viene terminato il ciclo tornando ad eseguire il ciclo 1 altrimenti se viene riconosciuta una cartella la visualizza.
Non so cos'altro pensare ho guardato il sorgente + volte ma appunto semra giusto.
Spero che possiate aiutarmi.
Grazie ciao...![]()
![]()
![]()