Задать вопрос

Как лучше хранить адрес файлов/картинок в базе данных

Всегда задавался вопрос, кто как хранит ссылки на файлы/картинки в базе данных.

Я тут вижу несколько вариантов:
  1. хранить только имя картинки file.doc
  2. хранить имя картинки и путь относительно папки с загрузками certificate/file.doc
  3. хранить полный путь до файла /srv/web/.../upload/certificate/file.doc
  4. хранить всю информацию о файле в отдельной таблице, а в нужной нам таблице хранить ID этой записи
  5. менять имя картинки на ID записи в базе


Я использую 1 вариант из за его простоты и удобства использования, а какой вариант используйте вы и почему?
  • Вопрос задан
  • 20893 просмотра
Подписаться 14 Оценить Комментировать
Ответ пользователя ivsedm К ответам на вопрос (11)
@ivsedm
Ну тут наверное стоит уточнить, что именно хранится в базе. Если это профиль пользователя и путь к единственной аватарке, то можно и 1 вариант использовать. Но могут возникнуть сложности, если захотите все разделять, например, по пользователям или по типам картинок (аватарки отдельно в папке avatars и т.д.). Можно конечно и в логике все это расписать, но почти наверняка будут сложности с количеством правок, если такая переделка возникнет слишком поздно. Поэтому, имхо, предпочтителен вариант 2.
А если это альбомы пользователей с произвольным количеством картинок (и нужна таблица связей), то мне больше нравится вариант 4.
Ответ написан
Комментировать