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
基于mysql的bbs设计(五)
Oct 09 PHP
php str_pad 函数使用详解
Jan 13 PHP
php 常用类汇总 推荐收藏
May 13 PHP
php调用新浪短链接API的方法
Nov 08 PHP
CentOS下PHP安装Oracle扩展
Feb 15 PHP
php判断linux下程序问题实例
Jul 09 PHP
PHP数组函数知识汇总
May 12 PHP
PHP中字符与字节的区别及字符串与字节转换示例
Oct 15 PHP
laravel创建类似ThinPHP中functions.php的全局函数
Nov 26 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 PHP
PHP8.0新功能之Match表达式的使用
Jul 19 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中生成UUID自定义函数分享
2015/06/10 PHP
PHP几个实用自定义函数小结
2016/01/25 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
禁止JQuery中的load方法装载IE缓存中文件的方法
2009/09/11 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
js实现YouKu的漂亮搜索框效果
2015/08/19 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
JavaScript表单验证完美代码
2017/03/02 Javascript
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
Bootstrap图片轮播效果详解
2017/10/17 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
python绘图库Matplotlib的安装
2014/07/03 Python
深度定制Python的Flask框架开发环境的一些技巧总结
2016/07/12 Python
python实现冒泡排序算法的两种方法
2018/03/10 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
使用python实现微信小程序自动签到功能
2020/04/27 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
python 邮件检测工具mmpi的使用
2021/01/04 Python
美国班级戒指、帽子和礼服、毕业产品、年鉴:Balfour
2018/11/01 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
介绍下Java中==和equals的区别
2013/09/01 面试题
转让协议书范本
2014/04/15 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
公务员群众路线心得体会
2014/11/03 职场文书