美文网首页工作生活
php压缩数据入数据库的方法

php压缩数据入数据库的方法

作者: 麦子时光_新浪 | 来源:发表于2019-07-01 15:48 被阅读0次

    分享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。

    //

    1.如果要json_encode的话,要先于gzcompress执行。如果gzcompress先执行,json_encode返回的是空值。

    2.gzcompress(json_encode(数组))这种写法是不对的,得到的结果是一堆乱码。必须分开写,json_encode处理结果赋值给一个变量,然后gzcompress处理这一变量

    3.gzcompress结果直接存入数据库不会成功。可以base64_encode一下。

    相关文章

      网友评论

        本文标题:php压缩数据入数据库的方法

        本文链接:https://www.haomeiwen.com/subject/zgngcctx.html