php数据压缩函数gzcompress使用

分类:技术文档 - PHP文档 | 阅读(322) | 发布于:2018-11-05 19:22

压缩:gzcompress 解压:gzuncompress

 123,
    'name' => '张三',
    'age' => 24
];

$json = json_encode($data, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
$compressed= gzcompress($json);
$mysql_insert_data = base64_encode($compressed);

$compressed_new = base64_decode($mysql_insert_data);
$json_new = gzuncompress($compressed_new);
$data_new = json_decode($json_new, true);

print_r($data_new);

1.如果要json_encode的话,要先于gzcompress执行。如果gzcompress先执行,json_encode返回的是空值。
2.gzcompress(json_encode(数组))这种写法是不对的,得到的结果是一堆乱码。必须分开写,json_encode处理结果赋值给一个变量,然后gzcompress处理这一变量
3.gzcompress结果直接存入数据库不会成功。可以base64_encode一下。

经研究发现, gzuncompress的处理结果与zlib_decode的处理结果相同. (在gzcompress时使用了zlib格式). 把gzuncompress函数,换成zlib_decode即可. 完全不影响使用.

标签: