PHP
压缩 | Compression

gzencode

gzencode

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gzencode - 创建一个 gzip 压缩字符串

描述

string gzencode ( string $data [, int $level = -1 [, int $encoding_mode = FORCE_GZIP ]] )

该函数返回datagzip 程序的输出兼容的输入的压缩版本。

有关 GZIP 文件格式的更多信息,请参阅文档:» GZIP 文件格式规范版本4.3( RFC 1952 )。

参数

data

要编码的数据。

level

压缩级别。对于最大压缩,可以给出0为无压缩高达9。如果没有给出,默认压缩级别将是 zlib 库的默认压缩级别。

encoding_mode

编码模式。可以是FORCE_GZIP(默认)或FORCE_DEFLATE

在 PHP 5.4.0之前,FORCE_DEFLATE在 gzip 文件头之后使用标准 zlib 压缩字符串(包括zlib头文件)中的结果,但没有尾随 crc32 校验和。

在 PHP 5.4.0和更高版本中,FORCE_DEFLATE生成符合 RFC 1950 的输出,包括 zlib 头文件,瘪缩数据和 Adler 校验和。

返回值

编码的字符串,或发生错误时为FALSE

Changelog

VersionDescription
5.4.0FORCE_DEFLATE now generates RFC 1950 compliant output.

例子

生成的数据包含用于生成标准 .gz 文件的相应标题和数据结构,例如:

Example #1 Creating a gzip file

<?php $data = implode("", file("bigfile.txt") $gzdata = gzencode($data, 9 $fp = fopen("bigfile.txt.gz", "w" fwrite($fp, $gzdata fclose($fp ?>