Во-первых, я заметил, что есть вопросов по этому вопросу, отмеченные как дубликаты.Сохраняется ли путь к изображениям в базе данных?
В конце концов я пришел к this one.
И принятый ответ на этот вопрос, хотя частично решает мой вопрос, он не отвечает на все это.
У меня вопрос, Пользователь загружает изображение. Я сохраняю путь в базе данных и файл изображения в файловой системе. Тем не менее, я делаю 3 копии этого изображения (большие, средние и малые). Итак, у меня есть 4 изображения - оригинальные, большие, средние, маленькие.
Должен ли я хранить все 4 путь в базе данных, например, так
ID | original | large | medium | small |
----+--------------------+-----------------+-----------------+----------------+
1 | /path/to/original | /path/to/large/ | /path/to/medium | /path/to/small |
или просто хранить путь страниц оригинала, и дать другое 3 именование, например, так: car.jpg, car.jpg, large-car.jpg, medium-car.jpg, small-car.jpg
?
Я чувствую, что этот путь будет менее тяжелым для базы данных, и если позже я захочу добавить другой размер (т. Е. Лишний маленький), мне не нужно будет модифицировать базу данных.
Ну, это блог. У каждого пользователя есть свой собственный каталог. каждый раз, когда пользователь делает блог с фотографиями, я создаю новый каталог с блогаID, а внутри этого каталога я планирую хранить все 4 изображения. – sqram
Тогда то, что я хотел бы сделать, это иметь константу для родительского элемента для всех этих каталогов: 'define ('BLOG_IMAGE_BASE_PATH', '/ images/go/here')' или что угодно, и, в идеале, метод для объекта пользователя, function getImagePath() {return BLOG_IMAGE_BASE_PATH. '/'. $ This-> blogID; } 'и собирать пути изображения из этого. – chaos