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 函数

非特殊说明,本博所有文章均为博主原创。

备注:相关侵权、举报、投诉及建议等,请联系站长

添加新评论

昵称
邮箱
网站