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 相关文章推荐
把从SQL中取出的数据转化成XMl格式
Oct 09 PHP
PHP在字符串中查找指定字符串并删除的代码
Oct 02 PHP
关于页面优化和伪静态
Oct 11 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
May 05 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
Jun 20 PHP
PHP根据IP判断地区名信息的示例代码
Mar 03 PHP
php生成zip文件类实例
Apr 07 PHP
php session的锁和并发
Jan 22 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
基于php编程规范(详解)
Aug 17 PHP
基于Laravel 5.2 regex验证的正确写法
Sep 29 PHP
PHP实现考试倒计时功能代码
Apr 16 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 debug 安装技巧
2011/04/30 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
php 购物车完整实现代码
2014/06/05 PHP
PHP使用header()输出图片缓存实例
2014/12/09 PHP
学习PHP session的传递方式
2016/06/15 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
javascript在事件监听方面的兼容性小结
2010/04/07 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
2012/02/23 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
2018/04/28 Javascript
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
2019/07/20 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
[41:52]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第二场 2月22日
2021/03/11 DOTA
Python程序设计入门(5)类的使用简介
2014/06/16 Python
使用Python下的XSLT API进行web开发的简单教程
2015/04/15 Python
Python常见字典内建函数用法示例
2018/05/14 Python
Python人脸识别第三方库face_recognition接口说明文档
2019/05/03 Python
python如何统计代码运行的时长
2019/07/24 Python
解决Mac下使用python的坑
2019/08/13 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
Python如何解除一个装饰器
2020/08/07 Python
Python通过类的组合模拟街道红绿灯
2020/09/16 Python
美体小铺印度官网:The Body Shop印度
2019/10/17 全球购物
计算机学生的自我评价分享
2014/02/18 职场文书
投标单位介绍信
2015/05/05 职场文书
《认识钟表》教学反思
2016/02/16 职场文书