通过 PHP 进行 Zlib 压缩

Zlib compression through PHP

我想通过PHP激活Zlib压缩。我应该为 PHP.ini 文件使用什么代码。我对设置它的最佳方法有点困惑。 http://php.net/manual/en/book.zlib.php

此功能读写压缩小块您可以使用此功能压缩大文件


/**
* @return bool
* @param string $source
* @param string $dest
* @desc compressing the file with the zlib-extension
*/
function gzipCompress($source, $dest, $level = 5){

    if($dest == false){
        $dest = $source.".gz";

    }

    if(file_exists($source)){

        $filesize = filesize($source);
        $source_handle = fopen($source, "r");

        if(!file_exists($dest)){

            $dest_handle = gzopen($dest, "w$level");

            while(!feof($source_handle)){

                $chunk = fread($source_handle, 2048);
                gzwrite($dest_handle, $chunk);

            }

            fclose($source_handle);
            gzclose($dest_handle);

            return true;

        } else {

            error_log("The $dest already exists");

        }

    } else {

        error_log("The $source does not exist.");

    }

    return false;
}

要启用 zlib 压缩,请在服务器的 php.ini 文件上找到 zlib.output_compression 并将其值从 0 更改为 1.You 也可以通过更改 [=15= 的值来更改压缩级别]_level 并且有 zlib.output_handler 来更改输出句柄。