dav*_*mer 5 php architecture linux apache amazon-web-services
有一个项目,每个用户可以下载一个包含大约2GB数据的zip ...
唯一的问题是,有一些非常小的文件必须在每个用户的zip中更改.
有没有一种优雅的方法来解决这个问题,除了不要求所有这些都在拉链?我考虑过的想法:
1)将挂单推送到队列,并在资源可用时处理该队列...处理将意味着为每个订单创建一个新的zip,然后在N天后删除它
2)以某种方式在PHP中操作zip,然后通过原始类型的推送(即吐出标题,然后根据文件+自定义文件生成数据)
我可能会遇到的最佳方法或内存问题的想法?谢谢!
ZIP 文件结构基本上是:
这意味着您应该能够即时构建和输出 ZIP 存档,只需要将目录数据保留在内存中,直到最后可以将其写出。ZIP 存档本身永远不需要存在于磁盘上。
如果您使用此方法,则一次向多个客户端提供 ZIP 文件时不会出现并发问题,并且在构建存档时无需使用任何磁盘空间。