如何压缩和传递文件到浏览器上的动态



我想实现像GMail的"获取所有附件作为压缩文件"的功能。

是否有一种方法可以在服务器上选择多个文件,压缩它们并实时传递到浏览器?(类似于PHP的readfile函数用于附件流)

[编辑]

似乎你误解了我的意图,所有给定的例子都需要创建并在被发送之前关闭存档,我想在创建存档时流式传输。

类似unix命令(来自zip手册):zip -r - . | dd of=/dev/nrst0 obs=16k

[EDIT2]

我有很多~2MB的文件(> 100)要服务,等待tmp zip文件的创建迫使实现排队机制并占用存储空间…如果它可以通过流/管道直接到浏览器,为什么我应该在filesyetm中写tmp zip ?

看一下ZipStream-PHP库-它声称可以做你需要的。

您的PHP主机可能恰好安装了zip扩展名。如果是,你应该使用它。(性能原因)

否则,对于zip归档,PclZip是一个没有依赖关系的好库。

显然有一个PEAR库用于它,但现在已弃用,焦点已转移到我已经提到的PECL(二进制)扩展。(无论如何,整个PEAR生态系统正在逐渐腐烂)

相关内容

  • 没有找到相关文章

最新更新