PHPでのファイルまたは文字列のgzip解凍の例
リリース: 2016-07-25 08:58:51
-
- /**
- * 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);
- ?>
复制代
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31