En los comentarios de los usuarios de las funciones:
dir()
www.php.net/dir
opendir()
www.php.net/opendir
Tienes ejemplos de lectura de directorios en forma recursiva (con N sub-ramas) .. También puedes ver ejemplos completos en sitios como
www.phpclasses.org para representar de forma gráfica tu estructura de directorios.
Un saludo,