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中simplexml_load_string函数使用说明
Jan 01 PHP
PHP基础之运算符的使用方法
Apr 28 PHP
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 PHP
浅谈php安全性需要注意的几点事项
Jul 17 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
Jul 28 PHP
在WordPress中使用wp-cron插件来设置定时任务
Dec 10 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
May 16 PHP
PHP的时间戳与具体时间转化的简单实现
Jun 13 PHP
thinkPHP模板引擎用法示例
Dec 08 PHP
PHP实现动态创建XML文档的方法
Mar 30 PHP
详解laravel passport OAuth2.0的4种模式
Nov 04 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函数,php爱好者站推荐
2007/03/19 PHP
PHP定时自动生成静态HTML的实现代码
2010/06/20 PHP
php安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
QQ互联一键登录审核不通过的解决方案
2014/09/10 PHP
php提交post数组参数实例分析
2015/12/17 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
js简单的弹出框有关闭按钮
2014/05/05 Javascript
js实现YouKu的漂亮搜索框效果
2015/08/19 Javascript
js实现带圆角的两级导航菜单效果代码
2015/08/24 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
js实现微博发布小功能
2017/01/12 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
vue elementui form表单验证的实现
2018/11/11 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
vue 自动化路由实现代码
2019/09/03 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
element中的$confirm的使用
2020/04/26 Javascript
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
Python实现打印实心和空心菱形
2019/11/23 Python
python实现简单学生信息管理系统
2020/04/09 Python
python dict如何定义
2020/09/02 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
集体婚礼证婚词
2014/01/13 职场文书
销售经理岗位职责
2014/03/16 职场文书
搞笑征婚广告词
2014/03/17 职场文书
融资合作协议书范本
2014/10/17 职场文书
工作检讨书大全
2015/01/26 职场文书
python 算法题——快乐数的多种解法
2021/05/27 Python
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers