Задача: юзер без регистрации может заливать и скачивать свои файлы. В дальнейшем он может зарегистрироваться и получить дополнительный функционал.
Идея хранения файлов.
Есть класс-хранилище, способный писать, читать и хранить массив файлов по ключу (md5). Структура:
/user_files/ef/eff7d5dba32b4da32d9a67a519434d3f.zip
/user_files/d5/d58e3582afa99040e27b92b13c8f2280.zip
Есть класс-контроллер, управляющий классом-хранилище (с контролем доступа). Генерация ключа происходит, например, по такой схеме:
md5(user_id+file_name+...)
. В базе хранится user_id, оригинальное имя файла и ключ.
Скачивание (отдается через php):
/user-files/download/d58e3582afa99040e27b92b13c8f2280/ -> Мой документ.zip
1. Все файлы на 1 сервере.
2. Высоких нагрузок не ожидается.
Есть ли минусы в данной схеме?