解析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 相关文章推荐
一个程序下载的管理程序(三)
Oct 09 PHP
用PHP的ob_start();控制您的浏览器cache!
Feb 14 PHP
编写漂亮的代码 - 将后台程序与前端程序分开
Apr 23 PHP
php foreach 使用&(与运算符)引用赋值要注意的问题
Feb 16 PHP
php准确获取文件MIME类型的方法
Jun 17 PHP
zend framework中使用memcache的方法
Mar 04 PHP
PHP表单数据写入MySQL数据库的代码
May 31 PHP
php处理带有中文URL的方法
Jul 11 PHP
PHP完全二叉树定义与实现方法示例
Oct 09 PHP
基于 Swoole 的微信扫码登录功能实现代码
Jan 15 PHP
PHP+redis实现的购物车单例类示例
Feb 02 PHP
Thinkphp极验滑动验证码实现步骤解析
Nov 24 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
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
php adodb连接mssql解决乱码问题
2009/06/12 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
php中模拟POST传递数据的两种方法分享
2011/09/16 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
php 实现301重定向跳转实例代码
2016/07/18 PHP
JS 动态获取节点代码innerHTML分析 [IE,FF]
2009/11/30 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
深入理解JavaScript编程中的原型概念
2015/06/25 Javascript
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
详解ESLint在Vue中的使用小结
2018/10/15 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
如何基于javascript实现贪吃蛇游戏
2020/02/09 Javascript
JavaScript canvas绘制渐变颜色的矩形
2020/02/18 Javascript
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
[01:48]DOTA2 2015国际邀请赛中国区预选赛第二日战报
2015/05/27 DOTA
python的pdb调试命令的命令整理及实例
2017/07/12 Python
pyqt5简介及安装方法介绍
2018/01/31 Python
Python Paramiko模块的使用实际案例
2018/02/01 Python
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
详解Django解决ajax跨域访问问题
2018/08/24 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
Python基础之函数原理与应用实例详解
2020/01/03 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
家长给幼儿园的表扬信
2014/01/09 职场文书
五好家庭事迹材料
2014/12/20 职场文书
golang 在windows中设置环境变量的操作
2021/04/29 Golang