PHP 壓縮字符串方法
2
根據壓縮算法的不同,php提供了如下幾種方法:
$str = 'Compress meCompress meCompress meCompress meCompress meCompress meCompress meCompress meCompress me';
echo "str".strlen($str)."\n";
//壓縮率最低(gzip壓縮算法) 生成結果可以直接寫到.gz文件中
<?php
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>
//壓縮率居中 –This function compress the given string using the ZLIB data format.
<?php
$compressed = gzcompress('Compress me', 9);
echo $compressed;
?>
$compressed = gzcompress('Compress me', 9);
echo $compressed;
?>
//壓縮率并列最高
<?php
$compressed = gzdeflate('Compress me', 9);
echo $compressed;
?>
$compressed = gzdeflate('Compress me', 9);
echo $compressed;
?>
//壓縮率并列最高 — Compress a string into bzip2 encoded data
<?php
$str = "sample data";
$bzstr = bzcompress($str, 9);
echo $bzstr;
?>
$str = "sample data";
$bzstr = bzcompress($str, 9);
echo $bzstr;
?>
我并沒有測試壓縮是否有失真的情況,壓縮率高的應當更有可能還原后失真吧,根據體積情況使用吧。
轉自:http://www.linuxpig.com/2010/08/phpyasuozifuchuanfangfa/
轉自:http://www.linuxpig.com/2010/08/phpyasuozifuchuanfangfa/