压缩字符串,然后解压缩字符串?

时间:2012-06-01 21:59:05

标签: php mysql string function compression

我正在使用数十万行字符串。无论如何我可以将字符串压缩为像MD5一样,然后解压缩它?

2 个答案:

答案 0 :(得分:11)

是的,您可以在PHP中压缩和解压缩字符串(Demo):

$str = 'Hello I am a very very very very long string';
$compressed = gzcompress($str, 9);
$uncompressed = gzuncompress($compressed);

echo $str, "\n";
echo $uncompressed, "\n";
echo base64_encode($compressed), "\n";
echo bin2hex($compressed), "\n";
echo urlencode($compressed), "\n";

然而,MD5不是压缩而是散列。

请参阅:How to compress/decompress a long query string in PHP?

答案 1 :(得分:3)

查看PHP提供的ZLib函数:http://us.php.net/manual/en/ref.zlib.php

您可以结合使用gzencode()gzdecode(),或gzdeflate()gzinflate()的组合,或gzcompress()和{{1的组合}}。请记住使用与您使用的压缩功能相匹配的解压缩功能,因为这三个功能对中的所有三个都返回(或接受)略有不同的数据。

您可能需要进行一些实际测试,以确定哪一对最适合您。祝你好运!