将缩略图与mysql数据库中的图像相关联的最佳方法是什么?

时间:2012-02-26 05:16:40

标签: php mysql image thumbnails

我正在建立一个网站数据库,该网站将成为产品目录。 我的图像表有问题。我有一个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

有没有标准的方法来做到这一点?我应该制作三个表,每个表一个,并将它们与主外键相关联吗?我还以为我可以用字符串操作来做,用_large替换_small,因为上传的所有图像都有相同的后缀。有什么建议吗?

3 个答案:

答案 0 :(得分:2)

我想知道为什么要使用数据库来实现此目的

你难道不能只在图片名称中添加“小”字样,并将其与预定义的尺寸一起放入img标签中吗?

答案 1 :(得分:1)

  1. 创建一个用于记录图像的表格。
  2. 上传图片后,重命名图片以对应商品ID
  3. 添加到其中,还附加了它的图像编号
  4. 使用PHP脚本调整图像大小并附加大小
  5. 的后缀

    现在您将拥有以下格式:

    imageid_imagenumber_imagesize.jpg
    

    其中:

    • imageid - 对应于商品ID
    • imagenumber - 将其与同一产品的其他图像区分开来
    • imagesize - 大小的后缀

    将它们放在您网站的某个位置,您就可以开始了。不需要数据库

    关于图像尺寸以及有关图像的其他元数据,请阅读有关getting the EXIF data using PHP

    的更多信息

答案 2 :(得分:1)

约瑟夫所说的是一个解决方案。 或者您可以创建多个不同大小的缩略图文件夹,例如thumb_small,thumb_medium,并使用相同名称保存图像。

您只需将文件名保留在数据库中即可。当您需要显示图像时,您将URL调整到特定文件夹。