解析PHP中的file_get_contents获取远程页面乱码的问题


Posted in PHP onJune 25, 2013

PHP的file_get_contents获取远程页面内容,如果是gzip编码过的,返回的字符串就是编码后的乱码
1、解决方法,找个ungzip的函数来转换下
2、给你的url加个前缀,这样调用
$content = file_get_contents("compress.zlib://".$url);
无论页面是否经过gzip压缩,上述代码都可以正常工作!
使用curl模块同样可解决问题

function curl_get($url, $gzip=false){
        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
        if($gzip) curl_setopt($curl, CURLOPT_ENCODING, "gzip"); // 关键在这里
        $content = curl_exec($curl);
        curl_close($curl);
        return $content;
}

PHP 相关文章推荐
如何在PHP中使用Oracle数据库(6)
Oct 09 PHP
Godaddy空间Zend Optimizer升级方法
May 10 PHP
基于php无限分类的深入理解
Jun 02 PHP
利用PHP实现短域名互转
Jul 05 PHP
PHP实现抓取HTTPS内容
Dec 01 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
Feb 07 PHP
关于PHP中字符串与多进制转换函数的实例代码
Nov 03 PHP
PHP+MYSQL实现读写分离简单实战
Mar 13 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
Mar 14 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
深入file_get_contents函数抓取内容失败的原因分析
Jun 25 #PHP
提升PHP性能的21种方法介绍
Jun 25 #PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 #PHP
解析php取整的几种方式
Jun 25 #PHP
关于PHP内存溢出问题的解决方法
Jun 25 #PHP
关于PHP session 存储方式的详细介绍
Jun 25 #PHP
基于php使用memcache存储session的详解
Jun 25 #PHP
You might like
基于php验证码函数的使用示例
2013/05/03 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
javascript 广告后加载,加载完页面再加载广告
2010/11/25 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
网站404页面3秒后跳到首页的实例代码
2013/08/16 Javascript
jquery实现checkbox 全选/全不选的通用写法
2014/02/22 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
2015/02/20 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
2016/08/29 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
vue elementui form表单验证的实现
2018/11/11 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
Python读取键盘输入的2种方法
2015/06/16 Python
Python编程二分法实现冒泡算法+快速排序代码示例
2018/01/15 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
python_opencv用线段画封闭矩形的实例
2018/12/05 Python
python itchat给指定联系人发消息的方法
2019/06/11 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
2019/07/25 Python
python获取Pandas列名的几种方法
2019/08/07 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
应届生服装设计自我评价
2013/09/20 职场文书
运动会开幕式解说词
2014/02/05 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
甲午大海战观后感
2015/06/02 职场文书
走进科学观后感
2015/06/18 职场文书
MySQL 全文索引使用指南
2021/05/25 MySQL
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis
TV动画《史上最强大魔王转生为村民A》番宣CM公布
2022/04/01 日漫