锟斤拷然 压锟斤拷锟斤拷装协锟斤拷锟结供锟斤拷锟节憋拷锟斤拷锟侥硷拷系统锟斤拷 锟斤拷锟斤拷 gzip 锟斤拷 bz2 锟斤拷锟斤拷锟侥硷拷锟侥凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟结供通锟斤拷压锟斤拷锟斤拷锟斤拷思锟斤拷也锟斤拷锟斤拷锟斤拷锟斤拷越锟揭伙拷锟斤拷锟窖癸拷锟斤拷锟斤拷锟阶拷锟斤拷锟揭伙拷锟窖癸拷锟斤拷锟斤拷锟斤拷源耍锟窖癸拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷魏锟绞憋拷锟接︼拷锟斤拷锟斤拷魏锟斤拷锟斤拷锟皆达拷锟�
Note: 压锟斤拷锟斤拷锟斤拷锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫癸拷锟斤拷锟斤拷 gzip锟斤拷头锟斤拷尾锟斤拷息锟斤拷只锟斤拷压锟斤拷锟酵斤拷压锟斤拷锟斤拷锟斤拷锟叫碉拷锟斤拷效锟截荷诧拷锟街★拷
zlib.deflate锟斤拷压锟斤拷锟斤拷锟斤拷
zlib.inflate锟斤拷锟斤拷压锟斤拷实锟斤拷锟剿讹拷锟斤拷锟斤拷
» RFC 1951锟斤拷压锟斤拷锟姐法锟斤拷
deflate锟斤拷锟斤拷锟斤拷锟斤拷锟皆斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟介传锟捷碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟�
level
锟斤拷锟斤拷锟斤拷压锟斤拷强锟饺o拷1-9锟斤拷锟斤拷锟斤拷锟街革拷锟斤拷通锟斤拷锟斤拷锟斤拷锟斤拷锟叫★拷锟斤拷睾桑锟斤拷锟揭拷锟斤拷母锟斤拷锟侥达拷锟斤拷时锟戒。锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷压锟斤拷锟饺硷拷锟斤拷0锟斤拷锟斤拷全锟斤拷压锟斤拷锟斤拷锟斤拷 -1锟斤拷zlib 锟节诧拷默锟斤拷值锟斤拷目前锟斤拷 6锟斤拷锟斤拷
window
锟斤拷压锟斤拷锟斤拷锟捷达拷锟节达拷小锟斤拷锟皆讹拷锟侥次凤拷锟斤拷示锟斤拷锟斤拷锟竭碉拷值锟斤拷锟斤拷 15 —— 32768 锟街节o拷锟斤拷锟斤拷锟斤拷锟矫碉拷压锟斤拷效锟斤拷锟斤拷锟斤拷锟侥革拷锟斤拷锟节存,锟酵碉拷值锟斤拷锟酵碉拷 9 —— 512 锟街节o拷锟斤拷锟斤拷锟斤拷锟斤拷锟较诧拷锟窖癸拷锟叫э拷锟斤拷锟斤拷诖锟斤拷锟斤拷牡汀锟侥壳澳拷系锟�
window
锟斤拷小锟斤拷
15
锟斤拷
memory
锟斤拷锟斤拷指示要锟斤拷锟斤拷锟斤拷俟锟斤拷锟斤拷诖妗o拷戏锟斤拷锟斤拷锟街碉拷锟轿э拷谴锟� 1锟斤拷锟斤拷小锟斤拷锟戒)锟斤拷 9锟斤拷锟斤拷锟斤拷锟戒)锟斤拷锟节达拷锟斤拷锟斤拷影锟斤拷锟劫度o拷锟斤拷锟斤拷影锟斤拷锟斤拷锟缴碉拷锟截荷的达拷小锟斤拷
Note: 锟斤拷为锟筋常锟矫的诧拷锟斤拷锟斤拷压锟斤拷锟饺硷拷锟斤拷也锟斤拷锟斤拷锟结供一锟斤拷锟斤拷锟斤拷值锟斤拷为锟剿诧拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟介)锟斤拷
zlib.* 压锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 PHP 锟芥本 5.1.0锟斤拷锟斤拷茫锟斤拷诩锟斤拷锟� zlib锟斤拷前锟斤拷锟铰★拷也锟斤拷锟斤拷通锟斤拷锟斤拷装锟斤拷锟斤拷 » PECL锟斤拷 » zlib_filter锟斤拷锟斤拷为一锟斤拷锟斤拷锟斤拷锟斤拷 5.0.x锟斤拷锟斤拷使锟矫★拷锟剿癸拷锟斤拷锟斤拷锟斤拷 PHP 4 锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷
Example #1 zlib.deflate锟斤拷 zlib.inflate
<?php
$params = array('level' => 6, 'window' => 15, 'memory' => 9);
$original_text = "This is a test.\nThis is only a test.\nThis is not an important string.\n";
echo "The original text is " . strlen($original_text) . " characters long.\n";
$fp = fopen('test.deflated', 'w');
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, $params);
fwrite($fp, $original_text);
fclose($fp);
echo "The compressed file is " . filesize('test.deflated') . " bytes long.\n";
echo "The original text was:\n";
/* Use readfile and zlib.inflate to decompress on the fly */
readfile('php://filter/zlib.inflate/resource=test.deflated');
/* Generates output:
The original text is 70 characters long.
The compressed file is 56 bytes long.
The original text was:
This is a test.
This is only a test.
This is not an important string.
*/
?>
Example #2 zlib.deflate锟津单诧拷锟斤拷锟矫凤拷
<?php
$original_text = "This is a test.\nThis is only a test.\nThis is not an important string.\n";
echo "The original text is " . strlen($original_text) . " characters long.\n";
$fp = fopen('test.deflated', 'w');
/* Here "6" indicates compression level 6 */
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, 6);
fwrite($fp, $original_text);
fclose($fp);
echo "The compressed file is " . filesize('test.deflated') . " bytes long.\n";
/* Generates output:
The original text is 70 characters long.
The compressed file is 56 bytes long.
*/
?>
bzip2.compress锟斤拷
bzip2.decompress锟斤拷锟斤拷锟侥凤拷式锟斤拷锟斤拷锟芥讲锟斤拷 zlib 锟斤拷锟斤拷锟斤拷锟斤拷同锟斤拷
bzip2.compress锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷
blocks
锟角达拷 1 锟斤拷 9 锟斤拷锟斤拷锟斤拷值锟斤拷指锟斤拷锟斤拷锟斤拷锟斤拷俑锟� 100K 锟街节碉拷锟节达拷锟斤拷锟轿拷锟斤拷锟斤拷锟斤拷锟�
work
锟斤拷 0 锟斤拷 250 锟斤拷锟斤拷锟斤拷值锟斤拷指锟斤拷锟斤拷锟剿回碉拷一锟斤拷锟斤拷一些锟斤拷锟斤拷锟斤拷锟缴匡拷锟斤拷锟姐法之前锟斤拷锟斤拷锟劫次筹拷锟斤拷压锟斤拷锟姐法锟侥筹拷锟皆★拷锟斤拷锟斤拷锟剿诧拷锟斤拷锟斤拷影锟届到锟劫度o拷压锟斤拷锟斤拷锟斤拷锟斤拷诖锟绞癸拷枚锟斤拷锟斤拷艽锟斤拷锟斤拷玫锟接帮拷臁o拷锟斤拷瞬锟斤拷锟斤拷锟轿� 0 指示 bzip 锟斤拷使锟斤拷锟节诧拷默锟斤拷锟姐法锟斤拷
bzip2.decompress锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷通锟侥诧拷锟斤拷值锟斤拷锟捷o拷锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫碉拷
small
锟斤拷元锟斤拷锟捷★拷锟斤拷
small
锟斤拷为 &true; 值时锟斤拷指示 bzip 锟斤拷锟斤拷锟斤拷小锟斤拷锟节达拷占锟斤拷锟斤拷执锟叫斤拷压锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟劫度伙拷锟斤拷一些锟斤拷
bzip2.* 压锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 PHP 锟芥本 5.1.0锟斤拷锟斤拷茫锟斤拷诩锟斤拷锟� bz2支锟街碉拷前锟斤拷锟铰★拷也锟斤拷锟斤拷通锟斤拷锟斤拷装锟斤拷锟斤拷 » PECL锟斤拷 » bz2_filter锟斤拷锟斤拷为一锟斤拷锟斤拷锟斤拷锟斤拷 5.0.x锟斤拷锟斤拷使锟矫★拷锟剿癸拷锟斤拷锟斤拷锟斤拷 PHP 4 锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷
Example #3 bzip2.compress锟斤拷 bzip2.decompress
<?php
$param = array('blocks' => 9, 'work' => 0);
echo "The original file is " . filesize('LICENSE') . " bytes long.\n";
$fp = fopen('LICENSE.compressed', 'w');
stream_filter_append($fp, 'bzip2.compress', STREAM_FILTER_WRITE, $param);
fwrite($fp, file_get_contents('LICENSE'));
fclose($fp);
echo "The compressed file is " . filesize('LICENSE.compressed') . " bytes long.\n";
/* Generates output:
The original text is 3288 characters long.
The compressed file is 1488 bytes long.
*/
?>