gpt4 book ai didi

mysql - 图像表架构反馈

转载 作者:行者123 更新时间:2023-11-29 02:29:54 25 4
gpt4 key购买 nike

好吧,过去几个月我一直在处理这个问题,主要是因为我是新手......我做了我的阅读和研究,这就是结果......

我正在为我网站的图库设计图像表模型。基本上,我会上传一张图片(文件名)并创建 5 种不同的尺寸(smallthumbmedium)。

我已经为不同尺寸设置了指南:

  • 上传图片的最小尺寸为 100 像素
  • ---> 始终创建smallthumb 大小
  • 如果上传的图片大于 100 像素 ---> 创建smallthumbmedium 尺寸
  • 如果上传的图片大于 350 像素 ---> 创建smallthumbmediumlarge 尺寸
  • 如果上传的图片大于 700 像素 ---> 创建smallthumbmediumlarge, 尺寸

每个尺寸都有自己的文件名,由 filename + 代表尺寸的 suffix 定义。因此,一个小图像文件名将以 _s 后缀 (1234_s.jpg) 结束,拇指以 _t 后缀 (1234_t.jpg) 等等...

我还决定创建一个小型文件系统结构,因为我最终可能会上传大约 125 000 张图像。类似这样的东西:

http://www.mywebsite.com/gallery/images/0/6/image1.png
http://www.mywebsite.com/gallery/images/5/4/image2.png

图像的路径将驻留在 config.php 文件中,我将在名为 relative_dir 的列下保留数据库中图像文件夹的相对路径/p>

我还需要保持宽度和高度,以便它在浏览器中显示正常(如果要显示很多拇指,使用 getimagesize 可能会给服务器带来很大压力)

所以,经过几周的阅读和研究,我想到了这个(记住我是新手)

有什么反馈、建议吗?

IMAGE
-----------------------
image_id
title
caption
relative_dir
filename
small_filename
small_width
small_height
thumb_filename
thumb_width
thumb_height
medium_filename
medium_width
medium_height
large_filename
large_width
large_height
big_filename
big_width
big_height

最佳答案

具有 value1value2value3 等列,或者在您的情况下为 smallmedium, large 表示存在非规范化问题。它会形成一个庞大的表,如果您想要添加(或删除)图像大小,您将不得不更改架构。我不确定你为什么需要 _width/_height 列,因为每个列似乎都有一个基于其大小状态的静态宽度/高度(例如 small 始终为 100px),但没关系。我建议三个表:

ImageUploads -- canonical image table
iuID, title, caption, relative_dir, filename
(do you need *both* relative_dir/filename)

ImageSizes -- settings for sizes; width/height may go here as well
isID,
sizeName (small, medium, large, big, thumb)
sizeSuffix (_s, _m, _l, _b, _t?)

Images
iuID, isID

使用 Images 表,您可以轻松获得规范的图像文件名、标题/说明/等。并获得您需要的后缀。如果每个文件的宽度/高度都需要不同,则宽度/高度将在该表中显示,如果是按尺寸显示,则在 ImageSizes 中显示。如果您希望使用默认值但又考虑到灵 active ,也可以同时使用两者。

关于mysql - 图像表架构反馈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14840548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com