>백엔드 개발 >PHP 튜토리얼 >PHP에서 파일이나 문자열의 gzip 압축 풀기 예

PHP에서 파일이나 문자열의 gzip 압축 풀기 예

WBOY
WBOY원래의
2016-07-25 08:58:511074검색
  1. /**
  2. * php自定义gzdecode解压缩gzip文件
  3. * edit bbs.it-home.org
  4. */
  5. if (!function_exists('gzdecode')) {
  6. function gzdecode ($data) {
  7. $flags = ord(substr($data, 3, 1));
  8. $headerlen = 10;
  9. $extralen = 0;
  10. $filenamelen = 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) // Filename
  17. $headerlen = strpos($data, chr(0), $headerlen) 1;
  18. if ($flags & 16) // Comment
  19. $headerlen = strpos($data, chr(0), $headerlen) 1;
  20. if ($flags & 2) // CRC at end of file
  21. $headerlen = 2;
  22. $unpacked = @gzinflate(substr($data, $headerlen));
  23. if ($unpacked === FALSE)
  24. $unpacked = $data;
  25. return $unpacked;
  26. }
  27. }
  28. ?>
复制代码

调用:

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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.