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分页显示制作详细讲解
Dec 05 PHP
php 分页函数multi() discuz
Jun 21 PHP
mac下安装nginx和php
Nov 04 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
Mar 21 PHP
CodeIgniter基于Email类发邮件的方法
Mar 29 PHP
常用PHP数组排序函数归纳
Aug 08 PHP
thinkPHP中验证码的简单实现方法
Dec 05 PHP
Yii2 批量插入、更新数据实例
Mar 15 PHP
PHPTree――php快速生成无限级分类
Mar 30 PHP
浅谈laravel框架sql中groupBy之后排序的问题
Oct 17 PHP
PHP7 新增功能
Mar 09 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
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
php 动态执行带有参数的类方法
2009/04/10 PHP
解析php中的escape函数
2013/06/29 PHP
PHP的PDO事务与自动提交
2019/01/24 PHP
javascript字典探测用户名工具
2006/10/05 Javascript
FF IE兼容性的修改小结
2009/09/02 Javascript
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
JavaScript判断DOM何时加载完毕的技巧
2012/11/11 Javascript
jQuery 移动端artEditor富文本编辑器
2016/01/11 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
Angular实现搜索框及价格上下限功能
2018/01/19 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
python中利用Future对象回调别的函数示例代码
2017/09/07 Python
Python:Scrapy框架中Item Pipeline组件使用详解
2017/12/27 Python
python爬取淘宝商品销量信息
2018/11/16 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
2019/05/13 Python
在python3中实现更新界面
2020/02/21 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
2014年端午节活动方案
2014/03/11 职场文书
北京奥运会口号
2014/06/21 职场文书
2014年教师党员自我评价范文
2014/09/22 职场文书
作风建设年活动实施方案
2014/10/24 职场文书
2014年维修工作总结
2014/11/22 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
聚会通知怎么写
2015/04/23 职场文书
经典祝酒词大全
2015/08/12 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
《玩出了名堂》教学反思
2016/02/17 职场文书
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
2022/08/14 Servers