脚本
用户可以发布项目并在帖子中包含最多5个图像,上传的每个图像都需要重新采样和调整大小 - 总共创建4个额外图像.这意味着,如果用户上传了5张图像,最后总共存储了25张图像.
假设
- 图像已经过正确检查,它们是有效的图像文件
- 系统必须扩展(假设在第一个实例中假设1000个帖子,因此最多5000个图像)
- 每个图像都根据db post条目的auto_incremenet id重命名,并包含相关后缀,即12345_1_1.jpg 12345_2_1.jpg - 所以重复没有问题
- 图像不是敏感的,所以直接访问它们没有问题(尽管目录列表将被禁用)
可能的方法
- 鉴于ID是唯一的,我们可以将它们放入一个文件夹(在某个点之后无效).
- 可以为每个帖子创建一个文件夹并将所有图像放入其中,因此ROOT/images/12345(再次,最终会有多个文件夹)
- 可以根据日期进行图像存储,即每天创建一个新文件夹,并将日期图像存储在那里.
- 可以根据调整大小的类型存储图像,即所有原始文件可以存储在一个文件夹images/orig所有缩略图中的图像/拇指(我认为Gumtree使用这样的方法).
- 在创建另一个文件之前,可以允许将X量的文件存储在一个文件夹中.
任何人都有关于以可伸缩方式存储图像的最佳实践/方法的经验?
注意:我预先有人会提到S3 - 让我们假设我们想暂时保留本地图像.
谢谢你的期待