Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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 有没有类似于ZipArchive的东西,但是可以在不生成磁盘上的文件的情况下发送zip进行下载?_Php_File_Compression_Zip - Fatal编程技术网

Php 有没有类似于ZipArchive的东西,但是可以在不生成磁盘上的文件的情况下发送zip进行下载?

Php 有没有类似于ZipArchive的东西,但是可以在不生成磁盘上的文件的情况下发送zip进行下载?,php,file,compression,zip,Php,File,Compression,Zip,我想在PHP中创建一个zip文件,并使用header函数使其可以下载,而无需将文件保存在服务器上。但我认为内置的ZipArchive做不到这一点。我发现了一些可以,但它们都是从现有文件添加文件,我需要像ZipArchive::addFromString那样添加它 有人知道一个类或具有这种功能的东西吗?gzip为一个文件这样做。对于归档文件,您可以使用gzip和tar,如下所示 tar -cz thedir 这是如何使用zip来完成的 zip - file1.txt file2.txt 根

我想在PHP中创建一个zip文件,并使用header函数使其可以下载,而无需将文件保存在服务器上。但我认为内置的ZipArchive做不到这一点。我发现了一些可以,但它们都是从现有文件添加文件,我需要像ZipArchive::addFromString那样添加它


有人知道一个类或具有这种功能的东西吗?

gzip为一个文件这样做。对于归档文件,您可以使用gzip和tar,如下所示

tar -cz  thedir 
这是如何使用zip来完成的

zip - file1.txt file2.txt

根据ZipArchive注册zip://流包装器。虽然我从未使用过zip://streams,但您可以检查zip.compress是否有效。您可以根据找到的另一个示例构建测试。

据我所知,zip归档文件是基于文件的,因此根本不可用于流式传输。例如,如果您需要基于流的压缩,您可以使用gzip。但是gzip不是windows zip文件,我需要它在压缩时为.zip。它可以去stdout。使用-