0

我正在设计一个网站,用户可以在其中发送他们拍摄的其他用途照片。我已经设置了 MySQL 和 PHP 页面来让用户注册、登录等,但我的问题是,我需要做什么才能让用户上传分配给其他用户的图像?我正在考虑为所有图像设置 ID,然后某些用户可以访问图像的特定 ID。任何信息表示赞赏。

4

4 回答 4

1

根据此处的信息,您可能需要以下设置:

表:

userrelationship(userid, friendid)

images(id, imagepath, userid)

sharedimages(id, originaluserid, friendid, imageid)

这是真正的基础,但它应该让你开始。

于 2013-02-27T18:47:20.187 回答
0

我会去做这样的事情

table - images
image_id | image_source | image_from | image_to
    1      source of img   user id     user id 
于 2013-02-27T18:45:51.100 回答
0

您有多种选择,您可以自行决定如何实现它。

第一个选项:让他们上传照片,为其分配/重命名唯一的哈希或 ID,将其放入与用户关联的表中:

id | hash | user_id

第二种选择:您始终可以将图像作为 blob 存储在 MySQL 数据库中,但这可能会很麻烦,因为您可能需要更多信息。

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

其余选项介于两者之间。基本上,只为图像设置表,如果要添加权限,请将其放在单独的表中,当用户尝试访问它时,只需检查图像所有者权限:

user_id | permissions

如果图像所有者只想让他们自己查看图片,请添加该权限类型,或者如果他们想要朋友、朋友或朋友或任何人,您可以创建这些单独的权限标志。

现在,如果您正在寻找每个图像的权限,那么您需要将权限字段附加到图像表。同样,您可以将两者结合起来,如果图像表中的权限字段为空,您可以使用用户的默认权限。

于 2013-02-27T18:50:04.747 回答
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向其他用户授予图像访问权限,并使用该permissions列准确控制这些用户在控制这些图像方面的权限。

这是一个非常灵活的系统。希望有帮助吗?

于 2013-02-27T18:58:35.387 回答