Как правильно хранить адрес картинок в БД?

173
04 ноября 2017, 15:22

В БД записан путь к картинкам. Я вывожу их через функцию с разных страниц, находящихся и в корневом каталоге и из разноуровневых папок.

Как правильно записать адрес этих картинок в БД? Относительный или абсолютный?

С относительным проблем нет, но только с определенных страниц. Каждый раз определять, откуда пришел запрос и менять имя картинки как-то несерьёзно. Прописываю абсолютный адрес типа http://site.ru/forum/arhiv/1.jpg, но после этого файлы не отображаются.

Answer 1

http://site.ru/forum/arhiv/1.jpg

Если все лежат в одной папке и носят имена по айдишникам, то хранить вообще никаких путей не надо.

Answer 2

Используйте как вариант: /forum/arhiv/1.jpg или 1.jpg в зависимости от структуры хранения данных. Абсолютные пути http://site.ru/forum/arhiv/1.jpg использовать не рекомендуется, т.к. например, при переходе на протокол HTTPS нужно будет править всю базу.

С относительным проблем нет, но только с определенных страниц. Каждый раз определять, откуда пришел запрос и менять имя картинки как-то несерьёзно.

Что значит менять имя картинки? Отделите пути хранения изображений от путей вывода самих страниц. Например, страница может быть http://site.ru/forum/arhiv/1, а для хранения картинок используйте папку http://site.ru/media/.