-
- /**
- * gzip ファイルを解凍するための php カスタム gzdecode
- * bbs.it-home.org を編集
- */
- if (!function_exists('gzdecode')) {
- function gzdecode ($data) {
- $flags = ord(substr($data, 3) 、1));
- $ヘッダレン = 10;
- $extralen = 0;
- $ファイル名len = 0;
- if ($flags & 4) {
- $extralen = unpack('v' ,substr($data, 10, 2));
- $extralen = $extralen[1];
- $headerlen += 2 + $extralen;
- }
- if ($flags & 8) // ファイル名
- $headerlen = strpos($data, chr(0), $headerlen) + 1;
- if ($flags & 16) // コメント
- $headerlen = strpos($data, chr(0), $headerlen) + 1;
- if ($flags & 2) // ファイル末尾の CRC
- $headerlen += 2;
- $unpacked = @gzinflate(substr($data, $headerlen));
- if ($unpacked === FALSE)
- $unpacked = $data;
- $ を開梱して返します。
- }
- }
- ?>
复制代
调用:
-
-
- $f=@file_get_contents(http://bbs.it-home.org);
- echo gzdecode($f);
- ?>
复制代
|