解析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实现文件上传二法
Oct 09 PHP
针对初学PHP者的疑难问答(2)
Oct 09 PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
Aug 01 PHP
php异常处理技术,顶级异常处理器
Jun 13 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 PHP
PHP实现扎金花游戏之大小比赛的方法
Mar 10 PHP
PHP中preg_match函数正则匹配的字符串长度问题
May 27 PHP
php验证手机号码
Nov 11 PHP
php生成验证码,缩略图及水印图的类分享
Apr 07 PHP
Yii2框架实现注册和登录教程
Sep 30 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
Jun 20 PHP
laravel5环境隐藏index.php后缀(apache)的方法
Oct 12 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
关于使用key/value数据库redis和TTSERVER的心得体会
2013/06/28 PHP
php猜单词游戏
2015/09/29 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
javascript之ESC(第二类混淆)
2007/05/06 Javascript
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
freemarker判断对象是否为空的方法
2015/08/13 Javascript
基于jquery实现的树形菜单效果代码
2015/09/06 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
使用JSON格式提交数据到服务端的实例代码
2018/04/01 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
JavaScript常用工具函数库汇总
2020/09/17 Javascript
antd table按表格里的日期去排序操作
2020/11/17 Javascript
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
Python中转换角度为弧度的radians()方法
2015/05/18 Python
详解Python中dict与set的使用
2015/08/10 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
python之super的使用小结
2018/08/13 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
2019/08/23 Python
使用Python的turtle模块画国旗
2019/09/24 Python
详解Python中的分支和循环结构
2020/02/11 Python
django haystack实现全文检索的示例代码
2020/06/24 Python
基于python模拟TCP3次握手连接及发送数据
2020/11/06 Python
写出一个方法实现冒泡排序
2016/07/08 面试题
手术室护士自我鉴定
2013/10/14 职场文书
培训简讯范文
2015/07/20 职场文书
运动会加油稿30字
2015/07/21 职场文书
浅谈spring boot使用thymeleaf版本的问题
2021/08/04 Java/Android
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技