Сохранение и получение нескольких размеров аватара - PullRequest
2 голосов
/ 08 марта 2011

Я создаю сайт форумного типа, на котором у пользователей будет аватар. Главная страница будет иметь маленькую версию, тогда как на одной странице будет большая версия аватара.

Так что ради пропускной способности у меня будут разные размеры:

example.png
example_thumb.png

Какой метод хранения и поиска предпочтителен для разных размеров?

Вот что я придумала до сих пор:

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

Таким образом, я могу получить базовую версию и версию для большого пальца с одним и тем же запросом, если знаю, что существует версия _thumb

Или я должен создать мета-таблицу следующим образом:

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

Я хотел бы получить совет

Ответы [ 2 ]

5 голосов
/ 08 марта 2011

Вы на правильном пути.

Пользователи:

id
username
...

Аватары

id
user_id
avatar_type(original, thumbnail)
file_name

Тогда вы можете сделать:

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

Это позволяет вам, скажем, позволить пользователям в дальнейшем иметь несколько аватаров без изменения ваших таблиц.

1 голос
/ 08 марта 2011

Любой из них будет работать, хотя я бы воспользовался мета-таблицей для простоты использования, в частности, если расширение не изменится.

Я не вижу никакой выгоды в хранении имени файла и расширения в отдельных столбцах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...