创建不压缩的ZIP存档


Create a ZIP Archive without compression?

有没有一种方法可以将JPG文件添加到ZIP档案而不重新压缩它们?听起来很奇怪,我知道。

通过PHP创建ZIP文件需要大量的CPU。在没有压缩的情况下使用ZIP仍然需要大量的CPU。如果我只想将图像(JPG)添加到档案中,为什么要在JPG已经压缩的情况下重新压缩它们?

我知道ZIP档案中的每个文件都需要采用与原始文件不同的格式(压缩),但也许有一种方法可以只在每个文件前面设置一些标题(无需重新压缩),并将它们一起复制到ZIP档案中。

既然您已经标记了这个php,我假设您的问题适用于PHP zip扩展,在这种情况下,答案是:

不,没有。

PHP zip扩展目前不允许您设置压缩方法。(该漏洞已经开放了几年,截至2012年1月仍未解决)。

ZipArchive不允许这样做(据我所知,尽管php.net手册中没有完全记录扩展)。

但是,在向zip中添加文件时,PCLZip库确实允许PCLZip_OPT_NO_COMPRESSION参数。