【发布时间】:2011-03-17 18:05:04
【问题描述】:
你好,
我希望能够使用 PHP 在我的 LAMP 服务器上扩展到数百万个用户个人资料图片。
我目前将所有图像存储在一个文件夹中,这是一个很大的禁忌,因此我想将它们分散到许多文件夹和子文件夹中(例如 aa/bb/ 等...)。
最好和最有效的方法是什么,特别是如果我不想调用数据库来获取该用户的个人资料图片的文件名/路径?
我正在考虑可能对用户名进行哈希处理并利用该哈希的前 4 个字母来生成/定位该用户的个人资料图片的路径,这样我就不必从数据库中额外访问任何内容因为我将永远拥有用户的用户名。因此,例如,如果用户用户名哈希的前 4 个字符是“aabb”,我会将该用户的个人资料图片存储在 aa/bb/username/profile.jpg 下,理论上这应该允许我扩展到数百万用户而无需必须向数据库添加任何内容,同时将所有图片均匀分布在 aa/bb/ 文件夹结构中。
有什么想法/意见吗?
谢谢!
【问题讨论】:
-
这可能会导致同名的图像被放在一个文件夹中,即新图像可能会替换旧图像。
标签: php file filesystems lamp