2024 年 PHP Conference Japan

bzcompress

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

bzcompress將字串壓縮成 bzip2 編碼的資料

描述

bzcompress(字串 $data, 整數 $block_size = 4, 整數 $work_factor = 0): 字串|整數

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