注意,“PHP deflate” != “HTTP deflate”。
HTTP 中使用的 deflate 编码实际上是 zlib 编码。
这就是 PHP 函数返回的内容
gzencode() == gzip
gzcompress() == zlib (又名 HTTP deflate)
gzdeflate() == *原始* deflate 编码
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
gzdeflate — 压缩字符串
此函数使用 DEFLATE
数据格式压缩给定的字符串。
有关 DEFLATE 压缩算法的详细信息,请参阅文档 "» DEFLATE Compressed Data Format Specification version 1.3" (RFC 1951)。
data
要压缩的数据。
level
压缩级别。可以指定为 0 表示不压缩,到 9 表示最大压缩。如果没有指定,则默认压缩级别将是 zlib 库的默认压缩级别。
encoding
ZLIB_ENCODING_*
常量之一。
压缩后的字符串,如果发生错误则为 false
。
示例 #1 gzdeflate() 示例
<?php
$compressed = gzdeflate('Compress me', 9);
echo $compressed;
?>
注意,“PHP deflate” != “HTTP deflate”。
HTTP 中使用的 deflate 编码实际上是 zlib 编码。
这就是 PHP 函数返回的内容
gzencode() == gzip
gzcompress() == zlib (又名 HTTP deflate)
gzdeflate() == *原始* deflate 编码
gzcompress 产生更长的数据,因为它将有关编码的信息嵌入到字符串中。如果您压缩的数据只会在一台机器上处理,那么您无需担心使用哪种函数。但是,如果您将使用这些函数压缩的数据传递到不同的机器,则应使用 gzcompress。
这是一个 gzdeflate 的基准测试(.txt 文件)
-------------------------------------------------------------------------------------------------------------------
级别 ZLIB_ENCODING_RAW ZLIB_ENCODING_DEFLATE ZLIB_ENCODING_GZIP
-------------------------------------------------------------------------------------------------------------------
级别 0 7.22Mb (7574498 字节) -0.0077% 7.22Mb (7574504 字节) -0.0077% 7.22Mb (7574516 字节) -0.0079%
级别 1 2.31Mb (2420570 字节) 68.0407% 2.31Mb (2420576 字节) 68.0406% 2.31Mb (2420588 字节) 68.0405%
级别 2 2.18Mb (2287031 字节) 69.8039% 2.18Mb (2287037 字节) 69.8038% 2.18Mb (2287049 字节) 69.8036%
级别 3 2.11Mb (2216241 字节) 70.7385% 2.11Mb (2216247 字节) 70.7384% 2.11Mb (2216259 字节) 70.7383%
级别 4 2.01Mb (2110510 字节) 72.1345% 2.01Mb (2110516 字节) 72.1344% 2.01Mb (2110528 字节) 72.1343%
级别 5 1.98Mb (2073133 字节) 72.628% 1.98Mb (2073139 字节) 72.6279% 1.98Mb (2073151 字节) 72.6278%
级别 6 1.93Mb (2026592 字节) 73.2425% 1.93Mb (2026598 字节) 73.2424% 1.93Mb (2026610 字节) 73.2423%
级别 7 1.93Mb (2019252 字节) 73.3394% 1.93Mb (2019258 字节) 73.3393% 1.93Mb (2019270 字节) 73.3392%
级别 8 1.92Mb (2018354 字节) 73.3513% 1.92Mb (2018360 字节) 73.3512% 1.92Mb (2018372 字节) 73.351%
级别 9 1.92Mb (2018354 字节) 73.3513% 1.92Mb (2018360 字节) 73.3512% 1.92Mb (2018372 字节) 73.351%
-------------------------------------------------------------------------------------------------------------------