解析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 相关文章推荐
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
Oct 09 PHP
discuz Passport 通行证 整合笔记
Jun 30 PHP
ThinkPHP关联模型操作实例分析
Sep 23 PHP
PHP正则表达式之定界符和原子介绍
Oct 05 PHP
php生成局部唯一识别码LUID的代码
Oct 06 PHP
php 购物车完整实现代码
Jun 05 PHP
Zend Framework动作助手Json用法实例分析
Mar 05 PHP
PHP中字符串长度的截取用法示例
Jan 12 PHP
详解php框架Yaf路由重写
Jun 20 PHP
Laravel ORM 数据model操作教程
Oct 21 PHP
php适配器模式简单应用示例
Oct 23 PHP
phpcmsv9.0任意文件上传漏洞解析
Oct 20 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
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
js 表单验证方法(实用)
2009/04/28 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
2017/09/02 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
2018/09/25 Javascript
vue如何进行动画的封装
2018/09/26 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
Electron 调用命令行(cmd)
2019/09/23 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
在vue中阻止浏览器后退的实例
2019/11/06 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
2021/01/26 Javascript
Python使用django获取用户IP地址的方法
2015/05/11 Python
Python 编码Basic Auth使用方法简单实例
2017/05/25 Python
Python实现压缩和解压缩ZIP文件的方法分析
2017/09/28 Python
python中实现字符串翻转的方法
2018/07/11 Python
使用python打印十行杨辉三角过程详解
2019/07/10 Python
使用python模拟命令行终端的示例
2019/08/13 Python
Python 函数list&read&seek详解
2019/08/28 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
2019/09/06 Python
python目标检测给图画框,bbox画到图上并保存案例
2020/03/10 Python
python七种方法判断字符串是否包含子串
2020/08/18 Python
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
北京华建集团SQL面试题
2014/06/03 面试题
Linux上比较文件的命令都有哪些
2012/02/24 面试题
请介绍一下WSDL的文档结构
2013/03/17 面试题
2014银行领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
思品教学工作总结
2015/08/10 职场文书
毕业班工作总结
2015/08/10 职场文书
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
2021/05/14 Python
Python异常类型以及处理方法汇总
2021/06/05 Python