我正在设计一个网站,用户可以在其中发送其他用途的照片。我已经设置了MySQL和PHP页面以便用户注册,登录等等,但我的问题是,我需要做些什么才能让用户上传分配给其他用户的图像?我正在考虑为所有图像设置ID,然后某些用户可以访问特定ID的图像。任何信息都表示赞赏。
答案 0 :(得分:1)
通过此处的信息,您可能需要以下设置:
表:
userrelationship(userid, friendid)
images(id, imagepath, userid)
sharedimages(id, originaluserid, friendid, imageid)
这是真正的基础,但它应该让你开始。
答案 1 :(得分:0)
我会选择这样的东西
table - images
image_id | image_source | image_from | image_to
1 source of img user id user id
答案 2 :(得分:0)
您有多种选择,由您决定如何实施它。
第一个选项:让他们上传照片,为其分配/重命名一个唯一的哈希或id,将其放在与用户关联的表中:
id | hash | user_id
第二个选项:您始终可以将图像作为blob存储在MySQL数据库中,但这可能很麻烦,因为您可能需要更多信息。
id | blob (base64 encoded data) | name | extension | user_id
其余选项介于两者之间。基本上,仅为图像设置表,如果要添加权限,请将其放在单独的表中,当用户尝试访问它时,只需检查图像所有者权限:
user_id | permissions
如果图片所有者只希望自己查看图片,添加该权限类型,或者如果他们想要朋友,朋友或朋友或任何人,则可以创建这些单独的权限标记。
现在,如果您要查找每个图像的权限,则需要将权限字段附加到图像表。同样,您可以对两者进行组合,如果图像表中的权限字段为空,则可以回退用户的默认权限。
答案 3 :(得分: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
列准确控制这些用户在控制这些图片方面的权利。
这是一个非常灵活的系统。希望有帮助吗?