PHP 压缩字符串的几种方法

发布时间:2019-12-13编辑:脚本学堂
介绍下php实现字符串压缩的几种方法,根据压缩算法的不同,php压缩字符串的方法也有不同,有需要的朋友参考下。

说明:
根据压缩算法的不同,php提供了几种字符串压缩的方法:
 

复制代码 代码示例:
<?php
$str = 'Compress meCompress meCompress meCompress meCompress meCompress meCompress meCompress meCompress me';
echo "str".strlen($str)."n";

方法1,压缩率最低(gzip压缩算法) 生成结果可以直接写到.gz文件中
 

复制代码 代码示例:
<?php
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>
 

方法2,压缩率居中 –This function compress the given string using the ZLIB data format.
 

复制代码 代码示例:
<?php
$compressed = gzcompress('Compress me', 9);
echo $compressed;
?>
 

方法3,压缩率并列最高
 

复制代码 代码示例:
<?php
$compressed = gzdeflate('Compress me', 9);
echo $compressed;
?>
 

方法4,压缩率并列最高  — Compress a string into bzip2 encoded data
 

复制代码 代码示例:
<?php
$str = "sample data";
$bzstr = bzcompress($str, 9);
echo $bzstr;
?>
 

注意,没有测试压缩是否有失真的情况,压缩率高的应当更有可能还原后失真吧,根据体积情况使用吧。

大家在使用过程中,注意测试下具体效果。