-1

我正在尝试使用一个 http 请求从服务器获取多个资源文件。每个 http 请求的资源文件集都不同。因此需要动态创建 zip 文件。

到目前为止,我最好的想法是:

step1:使用 php 创建一个包含所需资源文件的 zip 文件。类似于这个http://davidwalsh.name/create-zip-php

step2:在浏览器中将.zip文件发送到客户端并解析文件。

这是最好的方法吗?如何将 zip 文件传递​​给 javascript,以及如何存储 zip 文件的内容?

4

1 回答 1

0

HTTP已经支持gzip 压缩:

GZIP 通常更有效地压缩文件中的冗余部分,当您拥有包含相似或重复信息的文件时,它会产生更好的压缩效果。

GZIP 支持:http ://www.vervestudios.co/projects/compression-tests/results

由于您需要多个文件,因此您应该在对它们进行 gzip 压缩之前将它们一起 tar,这可以通过 PHP 和PEAR 的 tar 归档支持来完成。然后您可以使用 javascript 解压缩文件,浏览器会自动处理 gzip 解压缩。

这是一篇关于 zip 和 gzip 之间区别的文章:

概括:

  1. 与 ZIP 相比,GZIP 可以实现更好的压缩。

  2. ZIP 能够归档和压缩多个文件,而 GZIP 仅能够压缩。

  3. 您可以轻松地从大型 ZIP 文件中提取单个文件,但不能从 GZIP tarball 中提取。

  4. ZIP 在 Windows 上相当流行,而 GZIP 在类 UNIX 操作系统上更流行。

http://www.differencebetween.net/technology/difference-between-zip-and-gzip/

于 2013-02-11T01:47:50.517 回答