gzuncompress

(PHP 4 >= 4.0.1, PHP 5)

gzuncompress -- Uncompress a compressed string

说明

string gzuncompress ( string data [, int length] )

This function uncompress a compressed string.

参数

data

The data compressed by gzcompress().

length

The maximum length of data to decode.

返回值

The original uncompressed data or FALSE on error.

The function will return an error if the uncompressed data is more than 32768 times the length of the compressed input data or more than the optional parameter length.

范例

例子 1. gzuncompress() example

<?php
$compressed   
= gzcompress('Compress me', 9);
$uncompressed = gzuncompress($compressed);
echo
$uncompressed;
?>


add a note add a note User Contributed Notes
chappy at citromail dot hu
13-Apr-2006 10:47
Reading an ID3v2.3+ tag it is versy useful, because these tag's frames might be compressed. Zlib compressed frame layout (ID3v2.3):

Descriptior                                                    Size
-------------------
Frameheader:
Frame id:                                                      4 bytes
Frame size (full frame size - frameheader size): 4 bytes
Frame flags:                                                  2 bytes
   The 2nd byte's 7th bit must be 1 (e.g.: %1xy00000)
Frame content decrompessed size:                  4 bytes
--------------------
Framecontent:
Compressed string                                          described in 'frame size'

<?php
$frame
="[read from a mp3 file]";
$frame_id=substr($frame,0,4);
/*....*/
$cs=substr($frame,10,4);
$checksize=$cs[3]*16777216+$cs[2]*65536+$cs[1]*256+$cs[0];

$content=substr($frame,14,$contentsize);
$content=gzuncompress($content);
if(
strlen($content)!=$checksize){
   echo
'Error whil uncrompessing frame data<br>';
}
echo
$content;
?>