在网站上(php),为每个用户存储图片

3

网站用户需要能够在他们的“区域”中存储图像,我应该直接将这些图像存储在数据库中还是为每个用户创建一个目录。或者我只需为所有图像创建一个单独的目录,并在数据库中存储每个用户拥有的图像列表?我正在寻找最有效的方法,我认为为每个用户创建一个文件夹是最好的选择。


这个问题在SO上已经被问了很多次。如果你搜索一下,会找到很多现有的讨论。 - zombat
2
是的,但是问问题更容易,这样我就可以评论答案了。 - Jonathan.
3个回答

3

如果您有许多用户图片,例如用户头像和相册,则使用以用户ID或用户ID哈希命名的单独文件夹。

如果您只存储头像,则使用一个大文件夹,其中图像的名称为用户ID或用户ID哈希。


所以这很令人困惑(两个答案都是),因为一个说一个大文件夹,另一个说每个用户一个文件夹。 - Jonathan.

1

这取决于有多少图片。

如果每个用户只有一张图片,那么可能都在同一个目录下。

但是,如果您有相册等,所有用户的照片都在同一个文件夹中可能会有数百万张照片。这将非常慢。然后我会选择每个用户一个文件夹。

此外,永远不要直接访问文件夹。使用数据库链接到文件。


0
最好使用文件夹或缓存文件夹。您还可以使用图像调整大小功能,因此如果用户上传大尺寸图片,则您的脚本将能够创建不同大小的图片,例如头像图片。并缓存这些图像。因此,缩略图或头像查看器仅查看原始图像的缓存图像。而大型图像可用于未来的工作,例如头像的更大预览。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接