bzcompress

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzcompress将字符串压缩为 bzip2 编码数据

描述

bzcompress(string $data, int $block_size = 4, int $work_factor = 0): string|int

bzcompress() 压缩给定的字符串并将其作为 bzip2 编码数据返回。

参数

data

要压缩的字符串。

block_size

指定压缩期间使用的块大小,应为 1 到 9 之间的数字,其中 9 提供最佳压缩,但需要更多资源来实现。

work_factor

控制压缩阶段在遇到最坏情况、高度重复的输入数据时的行为。该值可以在 0 到 250 之间,其中 0 是一种特殊情况。

无论 work_factor 如何,生成的输出都是相同的。

返回值

压缩后的字符串,如果发生错误则为错误号。

示例

示例 #1 压缩数据

<?php
$str
= "sample data";
$bzstr = bzcompress($str, 9);
echo
$bzstr;
?>

参见

添加注释

用户贡献的注释 2 个注释

uprz23 at gmail dot com
14 年前
比较 gzcompress/gzuncompress 和 bzcompress/bzdecompress,bz 组合比 gz 慢约 5 倍。
diego a messenger do dsemmler do de
15 年前
blocksize 参数告诉 bzip 使用 100 000 字节 * blocksize 块来压缩字符串。在上面的示例中,我们可以看到 bz[2] 到 bz[9] 的输出大小和所需时间几乎相同,因为只有 189 058 字节的数据要压缩,在这种情况下,bz[2] 到 bz[9] 表示“一次压缩所有数据”。
因此,我们可能会注意到在压缩更大文件时,速度和压缩率会有更大的差异。

workfactor 参数设置 bzip 在标准算法遇到大量重复数据时切换到速度较慢的回退算法的速度。0 表示 bzip 使用默认值 30。建议使用此选项。

有关参数的更多信息,请查看 http://www.bzip.org/1.0.3/html/low-level.html#bzcompress-init
To Top