在MySQL和PHP中管理图像

在MySQL和PHP中管理图像,php,html,mysql,Php,Html,Mysql,我正在设计一个网站,用户可以在其中发送其他用途的照片,他们已经采取。我已经设置了MySQL和PHP页面,让用户注册、登录等,但我的问题是,我需要做什么才能让用户上传分配给其他用户的图像?我在想,所有的图片都要有ID,然后某些用户可以访问特定ID的图片。非常感谢您提供任何信息。我会选择这样的产品 table - images image_id | image_source | image_from | image_to 1 source of img user id

我正在设计一个网站,用户可以在其中发送其他用途的照片,他们已经采取。我已经设置了MySQL和PHP页面,让用户注册、登录等,但我的问题是,我需要做什么才能让用户上传分配给其他用户的图像?我在想,所有的图片都要有ID,然后某些用户可以访问特定ID的图片。非常感谢您提供任何信息。

我会选择这样的产品

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

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

表:

userrelationship(userid, friendid)

images(id, imagepath, userid)

sharedimages(id, originaluserid, friendid, imageid)

这是非常基本的,但应该从它开始。

您有几个选择,如何实现它取决于您自己

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

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

id | blob (base64 encoded data) | name | extension | user_id
而其余的选择则介于两者之间。基本上,只为图像设置表,如果要添加权限,请将其放在单独的表中,当用户尝试访问它时,只需检查图像所有者权限:

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


现在,如果要查找每个映像的权限,则需要将权限字段附加到映像表。同样,您可以将两者结合使用,如果image表中的permissions字段为null,您可以使用用户的默认权限。

我的答案与上述任何一个用户的答案都不同

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\u image
表中创建新行以向其他用户提供图像访问权限,并使用
permissions
列精确控制这些用户在控制这些图像方面的权限


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

这有用吗?帐户(id、电子邮件、用户名、密码)图像(id、上传者用户名、描述、接收者用户名、路径)就帐户而言,是的,如果这是注册用户所需的所有信息,那么这很好,但是图像我会为用户使用唯一的id,而不是他们的“用户名”…稍后,如果您想显示图像和用户名的关系,您只需编写一个简单的select语句,并将其与accounts表进行内部连接即可显示。我非常感谢这些丰富的信息。非常感谢!没问题,祝你好运!