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

Posted

技术标签:

【中文标题】在网站上存储每个用户的图片(php)【英文标题】:Storing pictures per user on website (php) 【发布时间】:2011-02-06 05:33:45 【问题描述】:

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

【问题讨论】:

这个问题已经被问死了。如果您进行搜索,您会发现很多现有的讨论。 是的,但问起来更容易,因为我可以对答案发表评论。 【参考方案1】:

如果每个用户有很多图片,例如用户创建的头像和照片库,则使用以用户 ID 或用户 ID 哈希命名的单独文件夹。

如果你只存储头像有一个大文件夹,其中图像的名称是用户 ID 或用户 ID 的哈希。

【讨论】:

所以这很令人困惑(两个答案),一个说一个大文件夹,另一个说每个用户一个文件夹【参考方案2】:

这取决于有多少张图片。

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

但是,如果您有相册等,则可能有数百万张照片,所有用户的照片都在同一个文件夹中。这样搜索起来会很慢。然后我会为每个用户使用一个文件夹。

另外,切勿直接访问文件夹。使用您的数据库链接到文件。

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于在网站上存储每个用户的图片(php)的主要内容,如果未能解决你的问题,请参考以下文章

如何在从 Web 应用程序上传的服务器上存储 10 亿张图像? [关闭]

添加缩略图如何大大降低我的网站速度?

如何从 FB 获取图片到网站

在每个请求之前和之后运行的 PHP 函数或文件

php教程 CURL实现带有验证码网站的模拟登录的方法

java 社交网站、博客等用户头像是怎么存储的?