通过PHP进行Zlib压缩

时间:2015-01-09 15:59:28

标签: php html compression gzip zlib

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

1 个答案:

答案 0 :(得分:1)

这个函数读写压缩小块你可以使用这个函数压缩大文件


/**
* @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;
}

要使enlable zlib压缩在服务器上的php.ini文件中找到zlib.output_compression并将其值从0更改为1.您还可以通过更改zlib.output_compression_level的值来更改压缩级别,并且有zlib.output_handler来更改输出处理