首页 > 解决方案 > 如何使用 addGlob() 设置 ZipArchive 压缩级别?

问题描述

想使用 ZipArchive 创建一个较小的文件,但使用 addGlob 选项......所以我不知道该使用什么。 使用 php 5.6

如果没有 setCompressionIndex 代码行,整个事情就可以正常工作。

尝试过

$zip->setCompressionName( '*', ZipArchive::CM_DEFLATE );

并尝试过

$zip->setCompressionIndex( '*', ZipArchive::CM_DEFLATE );

我的代码

<?php
    // SOME OTHER STUFF BEFORE
    $options = array( 'add_path' => 'PRJ/', 'remove_all_path' => TRUE );
    $zip->addGlob( '../matter/prj/' . $prj_group . '/' . $prj_id . '/img/prj/*.*', GLOB_BRACE, $options );

    $zip->setCompressionIndex( 1, ZipArchive::CM_DEFLATE );
    $zip->close();
?>

实际结果

Call to undefined method ZipArchive::setCompressionName()
Call to undefined method ZipArchive::setCompressionIndex()

标签: phpziparchive

解决方案


我刚刚发现我需要(PHP 7,PECL zip >= 1.13.0)。


推荐阅读