Без базы данных тут не обойтись. В форме загрузке файла - задаёте 3 поля - Название файла (Либо берёте название из загружаемого файла), категория (то, к какому выпадающему пункту меню будет это отображаться) и поле загрузки файла. На сервере уже выполняете всю логику, загружаете файл на сервер (В директорию) - затем в БД создайте таблицу с 3 полями - title|category|url (title - в этой ячейке будет хранится название файла и это же название будет выводиться в меню, category - можете задать id|название категории, как вам удобнее и потом в определенном месте через БД + foreach выводить список, url - относительный путь до файла site.ru/upload/files/file.pdf (к примеру) или - же /upload/files/file.pdf).
Начало вам дано, дерзайте)