PHP 字符串压缩详解

想象一个场景,有一个很长的字符串需要存储到文件或者数据库中,而且有好多这种字符串,这个时候直接拿着这个字符串去操作可能会存在一定的效率问题,有没有一种方式可以缩短每个很长的字符串去存储,然后我们在获取使用的时候还会保持和之前字符串一样,这样就可以一举两得了,要想实现这个需求就需要用到PHP中的压缩技术了。

W3CAPI
1
2020-04-25 08:46:03
文档目录
我的书签
 

PHP 字符串压缩函数gzcompress、gzdeflate、gzencode比较

通过上面对每一个压缩函数的了解,我们可以看出来三个函数在用法上基本上是一致的,他们都可以指定不同的压缩算法进行压缩,为什么还要把他们区分出来呢?因为从PHP 5.4.0开始,gzcompress和gzdeflate函数加入了第三个参数$encoding,可以是三个常量:
  • ZLIB_ENCODING_RAW 对应于纯DEFLATE格式
  • ZLIB_ENCODING_GZIP 对应于GZIP格式
  • ZLIB_ENCODING_DEFLATE 对应于ZLIB格式(注意不是纯DEFLATE格式)
虽然文档没有提及,但是这三个常量也可以用在gzencode函数的第三个参数$encoding_mode中。其实从PHP 5.4.0开始,这三个函数是一样的,只不过第三个参数的默认值不同;如果调用时传入第三个参数,那么这三个函数返回的数据相同。这可能是在设计的时候没有考虑完善,为了保持兼容采取的变通方式吧!
友情提示