OK, ¿has visto los árboles que genera el Explorador de archivos? ¿si has visto que tienen un símbolo "+" puedes buscar sobre cómo hacer esa animación con JavaScript
Pero antes debes "indexar" (organizar los archivos respecto al criterio que te sea útil) cada grupo de documentos y asimismo mostrarlos. Por lo que creo estará en categorías que ya conoces, así que no será muy difícil. Un ejemplo de como debe aparecer cuando la persona extienda todo el árbol se puede ver en ésta página:
http://co.php.net/manual/es/book.pdo.phpPara indexar todo eso sería bueno guardar los documentos en una base de datos noSQL para documentos (pero de eso casi no conozco). Aunque también están los directorios que puedes crear e insertar los archivos allí y después los llamas con PHP