解析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 5.0对象模型深度探索之绑定
Sep 05 PHP
PHP个人网站架设连环讲(二)
Oct 09 PHP
php绝对路径与相对路径之间关系的的分析
Mar 03 PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
Jan 17 PHP
jQuery+php实现ajax文件即时上传的详解
Jun 17 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
解析PHP的session过期设置
Jun 29 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
Apr 21 PHP
php简单统计在线人数的方法
May 10 PHP
Yii2实现中国省市区三级联动实例
Feb 08 PHP
浅谈PHP array_search 和 in_array 函数效率问题
Oct 15 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
thinkphp多层MVC用法分析
2015/12/30 PHP
简单PHP会话(session)说明介绍
2016/08/21 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
2015/02/28 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
2015/03/04 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
jQuery.parseHTML() 函数详解
2017/01/09 Javascript
Bootstrap导航条学习使用(一)
2017/02/08 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
2020/10/26 Javascript
Python中shutil模块的学习笔记教程
2017/04/04 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
Python3实现的Mysql数据库操作封装类
2018/06/06 Python
python实现键盘控制鼠标移动
2020/11/27 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
Python如何进行时间处理
2020/08/06 Python
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
导师评语大全
2014/04/26 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
2015年小学开学寄语
2015/02/27 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书
关于React Native 无法链接模拟器的问题
2021/06/21 Javascript
关于python中模块和重载的问题
2021/11/02 Python
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
Rust中的Struct使用示例详解
2022/08/14 Javascript