存储和检索多个头像图像大小

时间:2011-03-08 19:27:46

标签: database

我正在建立一个论坛类型的网站,用户将拥有一个头像。主页面将有一个小版本,而单个页面将有一个大版本的头像。

因此,为了带宽,我会有不同的尺寸:

example.png
example_thumb.png

不同尺寸的首选存储和检索方法是什么?

这是我到目前为止所提出的:

User Table    UserId  |  AvatarName  |  AvatarExt
              1       |  example     |  .png

这样我可以使用相同的查询获得base和thumb版本,只要我知道有一个'_thumb'版本

或者我应该像这样创建一个元表:

UserMeta      UserId  |  Avatar             |  AvatarType
              1       |  example.png        |  original
              1       |  example_thumb.png  |  thumbnail

我会喜欢一些建议

2 个答案:

答案 0 :(得分:5)

你走在正确的轨道上。

用户:

id
username
...

化身

id
user_id
avatar_type(original, thumbnail)
file_name

然后你可以这样做:

select * from avatars where user_id = $user_id and avatar_type='thumbnail'

这允许您允许以后允许用户拥有多个头像,而无需修改表格。

答案 1 :(得分:1)

任何一个都可以使用,但我会使用meta表以方便使用,特别是如果扩展名不会改变的话。

我认为将文件名和扩展名存储在不同的列中没有任何好处。