Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.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的压缩级别吗?_Php_Zip - Fatal编程技术网

Php 我可以更改ZipArchive的压缩级别吗?

Php 我可以更改ZipArchive的压缩级别吗?,php,zip,Php,Zip,是否可以更改ZipArchive类使用的压缩级别和/或方法?这是目前不可能的,正如前一篇文章中所述,您不能使用Zip。 如果指定压缩级别比归档方法更重要,则PHP zlib允许: string gzcompress ( string $data [, int $level = -1 ] ) $level—压缩级别。对于无压缩,可以给出0,对于最大压缩,可以给出9 事实上,即使在2014年也不可能,因此我不得不在linux的zip命令中使用“exec”函数: exec("cd \"".$t

是否可以更改ZipArchive类使用的压缩级别和/或方法?

这是目前不可能的,正如前一篇文章中所述,您不能使用Zip。 如果指定压缩级别比归档方法更重要,则PHP zlib允许:

string gzcompress  ( string $data  [, int $level = -1  ] )
$level—压缩级别。对于无压缩,可以给出0,对于最大压缩,可以给出9


事实上,即使在2014年也不可能,因此我不得不在linux的zip命令中使用“exec”函数:

exec("cd \"".$the_directory_you want_to_zip."\" && zip -0 -r \"".$path_zip."\" .");

它似乎已经在PHP7:and中实现/添加到重新分发文件中。没有测试


PS:之所以单独为文件而不是整个归档文件设置,是因为ZIP归档文件中的文件实际上是自己的ZIP文件,只是“粘”在一起形成一个“主ZIP归档文件”。

为了防止有人仍在寻找,PHP core的ZipArchive中似乎尚未实现此功能(截至2012年年中). 我计划使用和“zip-rn.jpg:.gif:.png images”,但这可能并不适合所有情况。我想知道仅仅添加功能和/或修复错误是否真的那么困难。这不能由一个人在几天内完成吗?此功能从PHP 7.0.0开始提供,请参阅。它是通过setCompressionIndex方法实现的: