Pues ... entonces .. empecemos por el principio.
1) .. obtener el listado de archivos de tu directorio indicado (o de la rama indicada en modo recursivo):
www.php.net/dir www.php.net/opendir
El caso es que todo esto ya está mas que "reinventado" . .si quieres . .visita sitios como
www.phpclasses.org . .tienes objetos (classes) creadas ya para tal fin .. incluso tal vez con opción de caché. Pero, si tu ya te dominias algo con tus archivos de texto plano o BD para el registro de esos nombres de archivos/directorios (rutas) que te va a entregar esas funciones .. El tema de ejecutar estas rutinas de actualización/creación de tus registros en tus BD a intervalos de tiempo ya es cosa de lo que te comenté .. ejecutar tu código bajo un "Cron Job" o equivalente .. sería lo más efectivo.
Un saludo,