Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何快速地将文件压缩并传递到浏览器?_Php_Stream_Zip - Fatal编程技术网

Php 如何快速地将文件压缩并传递到浏览器?

Php 如何快速地将文件压缩并传递到浏览器?,php,stream,zip,Php,Stream,Zip,我想实现GMail的“将所有附件作为压缩文件”这样的功能 有没有一种方法可以选择服务器上的多个文件,将它们压缩并动态传递到浏览器?(类似于用于附件流的PHP函数readfile) [编辑] 似乎您误解了我的意图,所有给定的示例都需要在发送前创建并关闭存档,我希望在创建存档时进行流式处理 类似于unix命令(来自zip手册): zip-r-。|dd of=/dev/nrst0 obs=16k [EDIT2] 我有大量约2MB的文件(>100)要提供服务,等待tmp zip文件的创建强制实施排队机制

我想实现GMail的“将所有附件作为压缩文件”这样的功能

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

[编辑]

似乎您误解了我的意图,所有给定的示例都需要在发送前创建并关闭存档,我希望在创建存档时进行流式处理

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

[EDIT2]


我有大量约2MB的文件(>100)要提供服务,等待tmp zip文件的创建强制实施排队机制并占用存储空间。。。如果可以通过流/管道直接到浏览器,为什么我要在FileYeTM中编写tmp zip?

看看这个库-它声称可以做您需要的事情。

您的PHP主机可能碰巧安装了这个。 如果是这样,你应该使用它。(表现原因)

否则,对于zip存档,最好是一个没有依赖项的好库


很明显,它有一个扩展名,但是现在已经被弃用了,重点已经转移到我已经提到的PECL(二进制)扩展名上。(无论如何,整个梨生态系统正在逐渐腐烂)

我已经读过这些例子。。。没有解决方案。哦,你是说一个完整的、编码的解决方案,直到最后一个字符,如“给我编码”?@Piskvor no我可以处理编码,但我必须有一些提示,而不是链接到我仔细阅读过的页面,它的内容在我的情况下似乎是无用的。等等,你不是想把文件压缩成一个文件?通过
readfile
将单个文件提供给浏览器似乎是非常简单的最后一步。