In fact, php is very simple to decompress gzip. You can just use the built-in gzdecode function. However, unfortunately, I configured it for a long time and could not support the gzdecode function, so I had to work around it:
Copy the code The code is as follows:
if (!function_exists('gzdecode')) {
function gzdecode ($data) {
$flags = ord(substr($data, 3, 1));
$headerlen = 10;
$extralen = 0; $filenamelen = 0;
if ($flags & 4) {
$extralen = unpack('v',substr($data, 10, 2));
$extralen = $extralen[1] ; $extralen; = strpos($data, chr(0), $headerlen) + 1;
if ($flags & 2) // CRC at end of file
$headerlen += 2;
$unpacked = @gzinflate(substr($data , $headerlen));
if ($unpacked === FALSE)
$unpacked = $data;
return $unpacked;
}
}
The calling method is very simple:
Copy the code
$f=@file_get_contents("http://www.jb51.net"); echo gzdecode($f);
The above introduces the gezipu php reference for gzip file or string decompression examples, including the content of gezipu. I hope it will be helpful to friends who are interested in PHP tutorials.