其实php对gzip解压很简单,用内置的gzdecode函数就可以了,不过很可惜我配置了半天也无法支持gzdecode函数,所以只好变通一下:
代码如下:
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];
$headerlen += 2 + $extralen;
}
if ($flags & 8) // Filename
$headerlen = strpos($data, chr(0), $headerlen) + 1;
if ($flags & 16) // Comment
$headerlen = 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;
}
}
调用方法很简单:
代码如下:
$f=@file_get_contents("https://www.jb51.net");
echo gzdecode($f);
您可能感兴趣的文章:php实现zip文件解压操作php使用ZipArchive函数实现文件的压缩与解压缩PHP自带ZIP压缩、解压缩类ZipArchiv使用指南php在线解压ZIP文件的方法php实现zip压缩文件解压缩代码分享(简单易懂)php 解压rar文件及zip文件的方法php的zip解压缩类pclzip使用示例PHP执行zip与rar解压缩方法实现代码PHP Zip解压 文件在线解压缩的函数代码php zip文件解压类代码PHP解压ZIP文件到指定文件夹的方法
字符串
gzip
解压
PHP
字符