php对gzip文件或者字符串解压实例参考


Posted in PHP onJuly 25, 2008

      其实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://3water.com");       
echo gzdecode($f);     
PHP 相关文章推荐
人大复印资料处理程序_输入篇
Oct 09 PHP
PHP优于Node.js的五大理由分享
Sep 15 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
Oct 14 PHP
Symfony数据校验方法实例分析
Jan 26 PHP
php开发工具有哪五款
Nov 09 PHP
php+html5实现无刷新图片上传教程
Jan 22 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
PHP完全二叉树定义与实现方法示例
Oct 09 PHP
laravel 事件/监听器实例代码
Apr 12 PHP
PHP常用正则表达式精选(推荐)
May 28 PHP
PHP与Web页面的交互示例详解二
Aug 04 PHP
PHP使用非对称加密算法RSA
Apr 21 PHP
php+mysql写的简单留言本实例代码
Jul 25 #PHP
简单示例AJAX结合PHP代码实现登录效果代码
Jul 25 #PHP
PHP4中session登录页面的应用
Jul 25 #PHP
PHP 表单提交给自己
Jul 24 #PHP
PHP 得到根目录的 __FILE__ 常量
Jul 23 #PHP
jq的get传参数在utf-8中乱码问题的解决php版
Jul 23 #PHP
使用PHP socke 向指定页面提交数据
Jul 23 #PHP
You might like
php从右向左/从左向右截取字符串的实现方法
2011/11/28 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
php-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
PHP程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
ie下jquery.getJSON的缓存问题的处理方法
2013/03/29 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
Vue组件tree实现树形菜单
2017/04/13 Javascript
原生js简单实现放大镜特效
2017/05/16 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
python实现数据库跨服务器迁移
2018/04/12 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
Python模块/包/库安装的六种方法及区别
2020/02/24 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
keras的siamese(孪生网络)实现案例
2020/06/12 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
经典c++面试题二
2015/08/14 面试题
大学生军训自我鉴定范文
2014/09/18 职场文书
中韩经贸翻译专业大学生职业生涯规划范文
2014/09/18 职场文书
综合测评自我评价
2015/03/06 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python