php 压缩数据存储


当接收到大量的数据时,存储到数据库和从数据库读取时,时间都比较慢,所以压缩一下入库可能会好一点。

仅供参考!!!

封装的压缩数据函数:

/**
 * 压缩数据
 * @param string $Data
 * @return string
 */
function compressData($Data=''){
    if(empty($Data)){
        return '';
    }else{
        //第一步:把 HTML 实体转换为字符
        $Data = html_entity_decode($Data, ENT_COMPAT);
        //第二步:压缩数据
        $Data = gzcompress($Data,9);
        //第三步:base64编码后入库,防止乱码
        $Data = base64_encode($Data);
        return $Data;
    }
}

封装的解压数据函数:

/**
 * 解压数据
 * @param string $Data
 * @return string
 */
function uncompressData($Data=''){
    if(empty($ecgData)){
        return '';
    }else{
        //第一步:base64解码
        $Data = base64_decode($Data);
        //第二步:解压数据
        $Data = gzuncompress($Data);
        //第三步:字符串转数组
        $Data = json_decode($Data, true);
        return $Data;
    }
}

总结:

base64_encode() , 使用 base64 对 data 进行编码。

base64_decode() , 对 base64 编码的 data 进行解码。

gzcompress() , 压缩字符串,参数1:字符串,参数2:压缩级别,参数3:编码

gzuncompress() , 解压字符串,参数1:字符串,参数2:长度。

json_encode() , 对变量进行JSON编码。

json_decode() , 对 JSON 格式的字符串进行解码。

html_entity_decode() , 把 HTML 实体转换为字符。

htmlentities() 函数把字符转换为 HTML 实体。