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获取url字符串截取路径的文件名和扩展名的函数
Jan 22 PHP
PHP session有效期session.gc_maxlifetime
Apr 20 PHP
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
May 07 PHP
深入php-fpm的两种进程管理模式详解
Jun 03 PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
Aug 16 PHP
php获取域名的google收录示例
Mar 24 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
Sep 10 PHP
php截取字符串函数分享
Feb 02 PHP
php+mysql实现简单的增删改查功能
Jul 13 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
Jan 21 PHP
php使用QueryList轻松采集js动态渲染页面方法
Sep 11 PHP
php设计模式之装饰模式应用案例详解
Jun 17 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类Class的概念
2012/06/14 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
php防止sql注入代码实例
2013/12/18 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
js变量以及其作用域详解
2020/07/18 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
replace()方法查找字符使用示例
2013/10/28 Javascript
jQuery实现文件上传进度条特效
2015/08/12 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
js实现内置计时器
2019/12/16 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python算法学习之基数排序实例
2013/12/18 Python
python调用新浪微博API项目实践
2014/07/28 Python
python GUI实例学习
2017/11/21 Python
python实现excel读写数据
2021/03/02 Python
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
python实现的config文件读写功能示例
2019/09/24 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
用Python绘制漫步图实例讲解
2020/02/26 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
Python实现粒子群算法的示例
2021/02/14 Python
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
美国在线购物频道:Shop LC
2019/04/21 全球购物
大学生个人实习的自我评价
2014/02/15 职场文书
服装设计师职业生涯规划范文
2014/02/28 职场文书
个人借款担保书
2014/04/02 职场文书
《春笋》教学反思
2014/04/15 职场文书
拓展训练激励口号
2014/06/17 职场文书
另类冲刺标语
2014/06/24 职场文书
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
2021/04/01 PHP
Python中常见的导入方式总结
2021/05/06 Python