Каков наилучший способ связать миниатюру с изображением в базе данных MySQL? - PullRequest
3 голосов
/ 26 февраля 2012

Я создаю базу данных для веб-сайта, который станет каталогом товаров. У меня проблема с таблицей изображений. У меня есть php-скрипт, который изменяет размеры изображения на три размера, переименовывает их с помощью суффикса, записывает их в каталог и добавляет ссылку на них в таблицу изображений.

У меня проблемы с выяснением того, как миниатюры (маленькие изображения) будут связаны со средними и большими изображениями, так как я планирую иметь несколько изображений для каждого продукта. Я хочу иметь возможность добавлять все эскизы на страницу со ссылкой либо на среднее, либо на большое изображение через php-скрипт.

Вот что у меня есть,

image-id  product-id  filename              size    caption  width  height  alt
13        1           PassPro150_large.jpg  large   NULL     632    569     NULL
14        1           PassPro150_medium.jpg medium  NULL     250    225     NULL
15        1           PassPro150_small.jpg  small   NULL     115    103     NULL

Есть ли стандартный способ сделать это? Должен ли я создать три таблицы, по одной для каждого размера, и связать их с первичным-внешним ключом? Я также думал, что смогу сделать это с помощью строковых манипуляций, заменив _small на _large, поскольку все загруженные изображения будут иметь одинаковый постфикс. Есть предложения?

Ответы [ 3 ]

2 голосов
/ 26 февраля 2012

Интересно, зачем вообще для этого использовать базу данных .

Разве вы не можете просто добавить слово "small" к имени изображения и поместить его в тег img вместе с предопределенными размерами?

1 голос
/ 26 февраля 2012

То, что сказал Иосиф, является одним из решений. Или вы можете создать несколько папок с разными размерами миниатюр, таких как thumb_small, thumb_medium и сохранить изображения там с тем же именем.

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

1 голос
/ 26 февраля 2012
  1. Создайте одну таблицу для записи изображений.
  2. после загрузки изображений переименуйте изображение в соответствии с идентификатором элемента
  3. , чтобы добавить к этому, добавьте также, какой номер изображения это
  4. используйте PHP-скрипт для изменения размера ваших изображений и добавьте в качестве суффикса размер

теперь у вас будет этот формат:

imageid_imagenumber_imagesize.jpg

где:

  • imageid - соответствует идентификатору элемента
  • imagenumber - чтобы отличить его от других изображений того же продукта
  • размер изображения - суффикс размера

разместите их где-нибудь на вашем сайте, и вы готовы идти. нет необходимости в базе данных

Что касается размеров изображения и других метаданных об изображении, читайте подробнее о получении EXIF-данных с использованием PHP

...