PHP 数据压缩
/**
* 判断字符串是否base64编码
*/
function func_is_base64($str)
{
return $str == base64_encode(base64_decode($str)) ? true : false;
}
/**
* 压缩内容
*/
function func_gzcompress($str, $level = 9)
{
if (!func_is_base64($str)) {
return base64_encode(gzcompress($str, $level));
}
return $str;
}
/**
* 解压内容
*/
function func_gzuncompress($str)
{
if (func_is_base64($str)) {
return gzuncompress(base64_decode($str));
}
return $str;
}
缩的方法除了gzcompress之外,还有gzdeflate、gzencode、bzcompress,经网友测试得出结果:
gzcompress 速度最快,压缩比率较高。
gzdeflate 压缩比率最高,速度稍慢于gzcompress
gzencode 与 gzdeflate 比较接近,gzdeflate稍有优势
bzcompress 速度最慢,压缩比率最慢。
因此建议使用 gzcompress 和 gzdeflate。
ThinkPHP6 中session数据压缩使用的也是 gzcompress 函数
添加新评论