PHP 字符串压缩详解

想象一个场景,有一个很长的字符串需要存储到文件或者数据库中,而且有好多这种字符串,这个时候直接拿着这个字符串去操作可能会存在一定的效率问题,有没有一种方式可以缩短每个很长的字符串去存储,然后我们在获取使用的时候还会保持和之前字符串一样,这样就可以一举两得了,要想实现这个需求就需要用到PHP中的压缩技术了。

W3CAPI
1
2020-04-25 08:46:03
文档目录
我的书签
 

PHP 字符串压缩函数 gzcompress 和 gzuncompress 详解

一、定义和用法

gzcompress 函数,使用 ZLIB 数据格式 压缩给定的字符串,具体压缩算法可查阅:RFC 1950《ZLIB压缩数据格式规范版本3.3 》。如果压缩失败会返回false,适用版本:(PHP 4 >= 4.0.1, PHP 5, PHP 7)

二、语法格式

gzcompress ( string $data [, int $level = -1 [, int $encoding = ZLIB_ENCODING_DEFLATE ]] ) : string 

三、参数说明

参数 说明
data 要压缩的字符串
level 压缩级别。可以指定为0(表示无压缩),指定为9(表示最大压缩)。
如果使用-1,则使用zlib库的默认压缩为6。
encoding 压缩采用的编码算法,一个ZLIB_ENCODING_*的常数(ZLIB_ENCODING_RAW 、ZLIB_ENCODING_DEFLATE、ZLIB_ENCODING_GZIP),可以看出来它可以使用不同的压缩算法进行压缩

四、使用用例

$len_str = <<<STR
11111111111111111111111111111111111111111
11111111111111111111111111111111111111111
1111111111111111111111111111111
STR;
echo "压缩前:";
var_dump($len_str);
$result = gzcompress($len_str);
echo "<br/> 压缩后:";
var_dump($result);
echo "<br/> 解压后:";
var_dump(gzuncompress($result));
友情提示