You could create a database, with fields such as "directory", "title", "date", etc. Then query it on each page load and construct your page from that, or run a cron job regularly to construct a static link page (to save resources).
Or, more simply, when you create a directory, add a text file in that directory with the appropriate information (title, date, etc.) on separate lines. Use dir() to find the right directories and read each text file into an array with file(). From there it's a matter of looping through the merged directory and text array to construct the display and anchors.