ホームページ  >  記事  >  バックエンド開発  >  PHPでのファイルまたは文字列のgzip解凍の例

PHPでのファイルまたは文字列のgzip解凍の例

WBOY
WBOYオリジナル
2016-07-25 08:58:511013ブラウズ
  1. /**
  2. * gzip ファイルを解凍するための php カスタム gzdecode
  3. * bbs.it-home.org を編集
  4. */
  5. if (!function_exists('gzdecode')) {
  6. function gzdecode ($data) {
  7. $flags = ord(substr($data, 3) 、1));
  8. $ヘッダレン = 10;
  9. $extralen = 0;
  10. $ファイル名len = 0;
  11. if ($flags & 4) {
  12. $extralen = unpack('v' ,substr($data, 10, 2));
  13. $extralen = $extralen[1];
  14. $headerlen += 2 + $extralen;
  15. }
  16. if ($flags & 8) // ファイル名
  17. $headerlen = strpos($data, chr(0), $headerlen) + 1;
  18. if ($flags & 16) // コメント
  19. $headerlen = strpos($data, chr(0), $headerlen) + 1;
  20. if ($flags & 2) // ファイル末尾の CRC
  21. $headerlen += 2;
  22. $unpacked = @gzinflate(substr($data, $headerlen));
  23. if ($unpacked === FALSE)
  24. $unpacked = $data;
  25. $ を開梱して返します。
  26. }
  27. }
  28. ?>
复制代

调用:

  1. $f=@file_get_contents(http://bbs.it-home.org);
  2. echo gzdecode($f);
  3. ?>
复制代


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。