Задать вопрос
iproger
@iproger
Безответственный гений

Нормальный ли метод хранения файлов на сервере?

Задача: юзер без регистрации может заливать и скачивать свои файлы. В дальнейшем он может зарегистрироваться и получить дополнительный функционал.

Идея хранения файлов.
Есть класс-хранилище, способный писать, читать и хранить массив файлов по ключу (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. Высоких нагрузок не ожидается.

Есть ли минусы в данной схеме?
  • Вопрос задан
  • 2424 просмотра
Подписаться 4 Оценить Комментировать
Ответ пользователя zooks К ответам на вопрос (7)
zooks
@zooks
Frontend
MD5 не уникальна - чисто теоретически они могут повторяться.
Ответ написан