使用gzdeflate压缩的数据,在使用gzinflate解压的时候竟然报错,错误为data error
$msg =gzdeflate("testmsg", 6, ZLIB_ENCODING_DEFLATE);
echo gzinflate($msg);
后来测试,不用参数ZLIB_ENCODING_DEFLATE,可以正常解压,用了就报错
网上找了一堆解答,都不对,最后试了用gzuncompress解压,成功了
php四对压缩函数
从PHP 5.4.0开始,gzcompress
和gzdeflate
函数加入了第三个参数$encoding,可以是三个常量:
ZLIB_ENCODING_RAW
对应于纯DEFLATE格式;ZLIB_ENCODING_GZIP
对应于GZIP格式;ZLIB_ENCODING_DEFLATE
对应于ZLIB格式(注意不是纯DEFLATE格式)Data error的原因是
HTTP协议中的Content-Encoding: deflate
使用的是ZLIB格式而不是纯DEFLATE格式。
Php使用gzdeflate和ZLIB_ENCODING_DEFLATE结果gzinflate报data error
原文:https://www.cnblogs.com/qumogu/p/14962704.html