在S3上压缩文件并使用PHP下载


Compress files on S3 and download with PHP

我有一个应用程序,我需要让用户一次下载许多媒体项目,可能超过500。我们所有的存储都在S3上,我发现处理可能超过400项的大量媒体请求很困难。

我想知道,有没有人知道一种方法来压缩媒体在S3上,然后下载一个单一的存档?支持吗?如果没有,谁能推荐一种服务来完成这个任务?

我们当前的设置是从S3下载所有媒体,然后在本地压缩它,但是当我们试图大规模完成这个操作时,我们遇到了服务器超时。

谢谢!

坏消息是AWS PHP SDK不支持开箱即用的压缩。

好消息是,有几个第三方库可以为你做这件事,例如:
  • PHP: https://github.com/jmathai/s3-bucket-stream-zip-php

  • Javascript: https://github.com/orangewise/s3-zip

  • : https://github.com/Teamwork/s3zipper