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中MD5函数使用实例代码
Jun 07 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
Jul 05 PHP
php FPDF类库应用实现代码
Mar 20 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
Jan 10 PHP
Window下PHP三种运行方式图文详解
Jun 11 PHP
浅谈PHP调用Webservice思路及源码分享
Jun 04 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
PHP实现截取中文字符串不出现?号的解决方法
Dec 29 PHP
Yii2实现增删改查后留在当前页的方法详解
Jan 13 PHP
Yii2第三方类库插件Imagine的安装和使用
Jul 06 PHP
PHP实现正则匹配所有括号中的内容
Jun 22 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可能遇到的问题“无法载入mysql扩展” 的解决方法
2007/04/16 PHP
优化PHP代码的53条建议
2008/03/27 PHP
php下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
filemanage功能中用到的lib.js
2007/04/08 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
2015/03/04 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
javascript的几种写法总结
2016/09/30 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
vue-cli3添加模式配置多环境变量的方法
2019/06/05 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
python中字典dict常用操作方法实例总结
2015/04/04 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
Python对数据库操作
2016/03/28 Python
python提取照片坐标信息的实例代码
2019/08/14 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
HTML5 Canvas实现放大镜效果示例
2020/03/25 HTML / CSS
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
土木工程专业大学毕业生求职信
2013/10/13 职场文书
主治医师岗位职责
2013/12/10 职场文书
医院辞职信范文
2014/01/17 职场文书
优秀导游先进事迹材料
2014/01/25 职场文书
优秀老师事迹材料
2014/02/05 职场文书
公司搬迁通知
2015/04/20 职场文书
教师师德工作总结2015
2015/07/22 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书