Este codigo empesara recorriendo desde donde esta ("./") y recorrera un subdirectorio:
Código PHP:
$dir = scandir("./");
echo "<ul>";
foreach($dir as $v1){
if($v1 != "." && $v1 != ".."){
if(is_file("./".$v1)){
echo "<li>".$v1;
}
//// si es un directorio se lo recorre ///////
if(is_dir("./".$v1)){
echo "<li>".$v1;
$dir2 = scandir("./".$v1);
echo "<ul>";
foreach($dir2 as $v2){
if($v2 != "." && $v2 != ".."){
if(is_file("./".$v1."/".$v2)){
echo "<li>".$v2;
}
//// si es un nuevo directorio se lo recorre ///////
if(is_dir("./".$v1."/".$v2)){
echo "<li>".$v2;
}
//// si es un nuevo directorio se lo recorre ///////
}
}
echo "</ul>";
}
//// si es un directorio se lo recorre ///////
}
}
echo "</ul>";
Esto se puede hacer con una funcion recursiva,
la cual puede profundizar aun mas,
si necesidad de tanto codigo