在我的应用程序中,用户可以创建他/她的相册。
我的问题是如何上传特定于上传过的用户ID的图片?这意味着应该有一些标准表明这些图像属于该用户。
我认为我可以使用user-id的图像名称存储图像,但在这种情况下,将注释与这些图像一起存储将很困难。
还有更好的方法吗?
答案 0 :(得分:3)
经常使用的解决方案是为每个图像提供两个数据:
数据库中的记录通常至少包含:
这样,对于每个图像,您都有其他数据 - 您可以使用这些数据为应用程序添加一些行为。
当然,这意味着当用户上传图片时你会有更多的工作 - 但它也不是那么糟糕,并且证明是有用的。
如果需要,您还可以将一些其他字段添加到存储这些数据的数据库表中,例如:
答案 1 :(得分:2)
您没有使用数据库吗?
如果不是:
设置数据库以存储用户,然后在iamges和用户之间创建逻辑连接。
例如
用户:
|---------------------------------------
| UserId Username Password |
|---------------------------------------
| 1 Robert 3j9745t3 |
| 2 Paul 03945u30 |
|---------------------------------------
图片:
|--------------------------------------------------
| ImageID UserId Desc ImageHash |
|-------------------------------------------------|
| 1 1 Some Desc 87ytr8d23yr|
| 2 1 Some Desc 5uty4095u40|
|-------------------------------------------------|
然后将图像存储在图像目录中,如87ytr8d23yr.png
,然后就可以进行像这样的php查询
$userid = 1;
$sql = "SELECT * FROM Images WHERE UserId = " . (int) $userid . " ORDER BY ImageID LIMIT 10";
if(false !== ($resource = mysql_query($sql)))
{
while($imageRow = mysql_fetch_object($resource))
{
if(file_exists('imageDir/' . $imageRow->ImageHash . '.png'))
{
//Do whatever.
}else
{
//Delete the row and inform the user that the picture has been deleted for some reason.
}
}
}
此外,您只需要做一个评论表并添加ImageId,当用户对图像发表评论时,只需将图像添加到评论行中即可跟踪它。
答案 2 :(得分:0)
你有数据库吗?用户是否已登录?创建一个表来跟踪图像,包括一个用户ID列,并将整个图像存储在数据库中,或者只存储图像的路径名。