Premetto che mi sto ricollegando ad un altro mio post:
http://forum.html.it/forum/showthrea...4#post25381734
Allora ero riuscito a creare una Select "ramificata" a partire da un array.. questa la funzione:
Codice PHP:
function HTMLOptionsTree($menu, $sel_id ='', $pid = 0, $depth = 0, $parent_last=[])
{
$children=array();
foreach ($menu as $item) if ($item["pid"] == $pid)
$children[]=$item;
foreach ($children as $key => $child)
{
if ($depth>0)
foreach ($parent_last as $is_last)
$p_branches.=($is_last ? ' ' : ' │ ' );
$symbol = $p_branches.' '.(($key == (count($children)-1)) ? '└' : '├').'─▸';
$result .= '<option value="'.$child["id"].'" '.($child["id"]==$sel_id ? 'selected':'').'>'.$symbol.$child["title"].'</option>'."\n";
$parent_last_new=$parent_last;
$parent_last_new[]=(($key == (count($children)-1)) ? 1 : 0);
$p_branches='';
$result.=HTMLOptionsTree($menu, $sel_id, $child["id"], $depth+1, $parent_last_new);
}
return $result ? $result : null;
}
Vi allego l'immagine di esempio.
Adesso ho bisogno di applicare lo stesso ragionamento per visualizzare la ramificazione delle cartelle, passando il path iniziale. Quindi bisognerà chiamare la ricorsione ogni volta che si trova una cartella con "scandir()".
La cosa importante è che i path che andranno nell' attributo "value" di ogni "OPTION" siano RELATIVI!
In pratica cosi':
codice HTML:
<option value="folder_1">folder_1</option>
<option value="folder_2">folder_2</option>
<option value="folder_2/sub_1">folder_2/sub_1</option>
<option value="folder_2/sub_2">folder_2/sub_2</option>
<option value="folder_2/sub_3">folder_2/sub_3</option>
<option value="folder_2/sub_4">folder_2/sub_4</option>
<option value="folder_2/sub_4/sub_sub_1">folder_2/sub_4/sub_sub_1</option>
<option value="folder_2/sub_4/sub_sub_2">folder_2/sub_4/sub_sub_2</option>
<option value="folder_2/sub_5">folder_2/sub_5</option>
<option value="folder_3">folder_3</option>
Mi date una mano? Eddaiiiiii .... 
Sotto vi carico lo screenshot del mio esperimento precedente...