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 相关文章推荐
PHP在Web开发领域的优势
Oct 09 PHP
php防盗链的常用方法小结
Jul 02 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
Aug 01 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
Apr 23 PHP
ThinkPHP CURD方法之field方法详解
Jun 18 PHP
php 删除cookie方法详解
Dec 01 PHP
Laravel 5框架学习之Blade 简介
Apr 08 PHP
8个PHP数组面试题
Jun 23 PHP
php+mysql实现无限级分类
Nov 11 PHP
thinkphp中字符截取函数msubstr()用法分析
Jan 09 PHP
php微信公众号开发之图片回复
Oct 20 PHP
Smarty模板配置实例简析
Jul 20 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将fileterms函数返回的结果变成可读的形式
2011/04/21 PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
2013/06/13 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
PHP获取用户客户端真实IP的解决方案
2016/10/10 PHP
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
js校验表单后提交表单的三种方法总结
2014/02/28 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
js友好的时间返回函数
2016/08/24 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
Vue 组件注册实例详解
2019/02/23 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
python计算两个矩形框重合百分比的实例
2018/11/07 Python
python爬虫添加请求头代码实例
2019/12/28 Python
解决python打开https出现certificate verify failed的问题
2020/09/03 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
详解CSS3的图层阴影和文字阴影效果使用
2016/06/09 HTML / CSS
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
世界汽车零件:World Car Parts
2019/09/04 全球购物
瑞典网上购买现代和复古家具:Reforma
2019/10/21 全球购物
优秀的教师个人的中文求职信
2013/09/21 职场文书
资料员的岗位职责
2013/11/20 职场文书
室内设计专业学生的自我评价分享
2013/11/27 职场文书
无工作经验者个人求职信范文
2013/12/22 职场文书
文员岗位职责范本
2014/03/08 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
社区五一劳动节活动总结
2015/02/09 职场文书
2015重阳节座谈会主持词
2015/07/30 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript