Определиться со временем, по истечении которого файлы должны удаляться. Периодически скриптом вычищать устаревшие файлы. Чтобы не гонять по огромному дереву каталогов, можно при загрузке файла делать запись о пути к нему и времени загрузки в БД. Соответственно, из БД и брать список удаляемых файлов (выборка по времени создания/истечения срока). Ну и не забывать удалять записи из БД в процессе обхода ее скриптом и при нажатии пользователем кнопки «Сохранить», то есть вместе с удалением файла из каталога.