2013-02-27 3 views
0

Я разрабатываю веб-сайт, на котором пользователи могут отправлять другие фотографии, которые они использовали. Я установил страницы MySQL и PHP, чтобы пользователи регистрировались, регистрировались и т. Д., Но мой вопрос: что мне нужно сделать, чтобы пользователи загружали изображения, которые назначены для перехода к другому пользователю? Я думал о том, что у меня есть идентификаторы для всех изображений, а затем некоторые пользователи будут иметь доступ к определенным идентификаторам изображений. Любая информация приветствуется.Управление изображениями в MySQL и PHP

ответ

1

происходит по информации здесь, вы, вероятно, потребуется следующая установка:

таблицы:

userrelationship(userid, friendid) 

images(id, imagepath, userid) 

sharedimages(id, originaluserid, friendid, imageid) 

что реально основной, но он должен начать вас.

+0

Это работает? (id, uploader-username, description, receiver-username, path) –

+0

Что касается аккаунтов go, да, это нормально, если это вся информация, необходимая для регистрации пользователя, но изображения I будет использовать уникальный идентификатор для пользователей, а не их «имена пользователей» ...позже, если вы хотите показать взаимосвязь изображений и имени пользователя, вы можете просто написать простой оператор select с внутренним соединением в таблицу учетных записей, чтобы отобразить его. – Andres

+0

Я очень ценю это богатство информации. Благодаря тонну! –

0

Я хотел бы пойти на что-то вроде этого

table - images 
image_id | image_source | image_from | image_to 
    1  source of img user id  user id 
0

У вас есть несколько вариантов, и вам решать, как вы его реализуете.

Первый вариант: Попросите их загрузить фотографию, назначить его/переименовать его уникальный хеш или идентификатор, поместите его в таблицу, которая связана с пользователем:

id | hash | user_id 

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

id | blob (base64 encoded data) | name | extension | user_id 

Остальные варианты находятся где-то посередине. В принципе, создать таблицу только для изображений, и если вы хотите добавить разрешения, поместить его в отдельной таблице, и когда пользователь пытается получить доступ к нему, просто проверить владелец изображения разрешения:

user_id | permissions 

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

Теперь, если вы ищете разрешения на изображение, вам нужно будет прикрепить поле разрешений к таблице изображений. Опять же, вы можете сделать комбо из обоих, и если поле разрешений в таблице изображений равно null, вы можете отказаться от прав пользователя по умолчанию.

0

Мой ответ будет отличаться от любого из вышеуказанных пользователей.

table - image 
id (primary) | source | date_added | etc... 
int   varchar int(10) 

table - user 
id (primary) | date_added | name 
int   int(10)  varchar 

table - user_image 
user_id (primary) | image_id (primary) | date_added | permissions 
int     int     int(10)  int 

В принципе, у вас есть таблица для пользователя и таблица для изображений. Затем найдите таблицу для определения пар user-image. Таким образом, вы можете сохранять изображения и пользователей отдельно и создавать связи между ними. Создайте новые строки в таблице user_image, чтобы получить доступ к изображениям другим пользователям, и используйте столбец permissions, чтобы точно контролировать права этих пользователей в отношении управления этими изображениями.

Это очень гибкая система. Надеюсь, это поможет?

Смежные вопросы