解析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 相关文章推荐
基于mysql的论坛(7)
Oct 09 PHP
选择PHP作为网站开发语言的原因分享
Jan 03 PHP
PHP数组排序函数合集 以及它们之间的联系分析
Jun 27 PHP
2014最热门的24个php类库汇总
Dec 18 PHP
PHP中判断文件存在使用is_file还是file_exists?
Apr 03 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
thinkPHP5.0框架安装教程
Mar 25 PHP
PHP对象的浅复制与深复制的实例详解
Oct 26 PHP
PHP开发实现微信退款功能示例
Nov 25 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
PHP多维数组指定多字段排序的示例代码
May 16 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
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
javascript字符串拼接的效率问题
2010/12/25 Javascript
JQuery扩展插件Validate—4设置错误提示的样式
2011/09/05 Javascript
$.getJSON在IE下失效的原因分析及解决方法
2013/06/16 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
Javascript让DEDECMS告别手写Tag
2014/09/01 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
Bootstrap每天必学之下拉菜单
2015/11/25 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
JavaScript函数中关于valueOf和toString的理解
2016/06/14 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
浅析jQuery操作select控件的取值和设值
2016/12/07 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
基于Vue中的父子传值问题解决
2020/07/27 Javascript
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
2014/06/04 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
TensorFlow实现iris数据集线性回归
2018/09/07 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
Python用input输入列表的实例代码
2020/02/07 Python
基于CSS3 animation动画属性实现轮播图效果
2017/09/12 HTML / CSS
阿迪达斯墨西哥官方网站:adidas墨西哥
2017/11/03 全球购物
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
实习老师个人总结的自我评价
2013/09/28 职场文书
公司面试感谢信
2014/02/01 职场文书
工作一年自我鉴定
2019/06/20 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏