我正在尝试使用一个 http 请求从服务器获取多个资源文件。每个 http 请求的资源文件集都不同。因此需要动态创建 zip 文件。
到目前为止,我最好的想法是:
step1:使用 php 创建一个包含所需资源文件的 zip 文件。类似于这个http://davidwalsh.name/create-zip-php
step2:在浏览器中将.zip文件发送到客户端并解析文件。
这是最好的方法吗?如何将 zip 文件传递给 javascript,以及如何存储 zip 文件的内容?
我正在尝试使用一个 http 请求从服务器获取多个资源文件。每个 http 请求的资源文件集都不同。因此需要动态创建 zip 文件。
到目前为止,我最好的想法是:
step1:使用 php 创建一个包含所需资源文件的 zip 文件。类似于这个http://davidwalsh.name/create-zip-php
step2:在浏览器中将.zip文件发送到客户端并解析文件。
这是最好的方法吗?如何将 zip 文件传递给 javascript,以及如何存储 zip 文件的内容?
HTTP已经支持gzip 压缩:
GZIP 通常更有效地压缩文件中的冗余部分,当您拥有包含相似或重复信息的文件时,它会产生更好的压缩效果。
GZIP 支持:http ://www.vervestudios.co/projects/compression-tests/results
由于您需要多个文件,因此您应该在对它们进行 gzip 压缩之前将它们一起 tar,这可以通过 PHP 和PEAR 的 tar 归档支持来完成。然后您可以使用 javascript 解压缩文件,浏览器会自动处理 gzip 解压缩。
这是一篇关于 zip 和 gzip 之间区别的文章:
概括:
与 ZIP 相比,GZIP 可以实现更好的压缩。
ZIP 能够归档和压缩多个文件,而 GZIP 仅能够压缩。
您可以轻松地从大型 ZIP 文件中提取单个文件,但不能从 GZIP tarball 中提取。
ZIP 在 Windows 上相当流行,而 GZIP 在类 UNIX 操作系统上更流行。
http://www.differencebetween.net/technology/difference-between-zip-and-gzip/