【发布时间】:2014-04-19 18:45:51
【问题描述】:
使用: 我们的用户在我们的 AWS S3 账户中有很多对象。我们正在添加一项功能,可以一次下载整个项目。我们更关心效率而不是存储。
在查看了不同的选项(ZipArchive、PclZip)后,我发现this guide 推荐使用 Chilkat。
它的方法很有道理,总结如下:
- 在上传时预压缩每个文件并将其存储在 S3 中
- “项目下载”开始下载每个压缩文件,然后 QuickAppend(Chilkat 术语)“立即”(每个文件 200 毫秒)将它们添加到整个压缩文件中
- 将新的 Zip 文件上传到 S3,提供链接
我遇到的问题是 Chilkat 的许可证是 249 美元,我正在寻找免费的替代品。
An alternative(也是免费的)使用了类似的概念:
- 在上传时预压缩每个文件并将其存储在 S3 中
- “项目下载”开始下载每个压缩文件,然后 tar 将它们放在一起
- 将新的 Zip 文件上传到 S3,提供链接
是否有“标准”或“理想”的方式来处理这个问题?
【问题讨论】:
-
是否可以在上传而不是下载时创建/更新项目 zip 文件?
-
我提到的两种方法都可以做到这一点。
-
不,您列出的方法在“项目下载”上运行
QuickAppend和tar -
哦,你的意思是做整个事情?不,因为它在不断变化(包括删除项目),可能每分钟都在变化。每次重新创建一个是不切实际/效率低下的。
标签: php compression zip tar chilkat