解析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 相关文章推荐
使用eAccelerator加密PHP程序
Oct 03 PHP
深入php多态的实现详解
Jun 09 PHP
thinkPHP下ueditor的使用方法详解
Dec 26 PHP
PHP数据库连接mysql与mysqli对比分析
Jan 04 PHP
Yii2.0中的COOKIE和SESSION用法
Aug 12 PHP
PHP基于DOM创建xml文档的方法示例
Feb 08 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
Feb 15 PHP
PHP函数rtrim()使用中的怪异现象分析
Feb 24 PHP
PHP判断密码强度的方法详解
May 26 PHP
PHP批量删除jQuery操作
Jul 23 PHP
php生成条形码的图片的实例详解
Sep 13 PHP
PHP并发场景的三种解决方案代码实例
Feb 27 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
PHP+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
php读取msn上的用户信息类
2008/12/05 PHP
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
PHP可变函数学习小结
2015/11/29 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
javascript笔记 String类replace函数的一些事
2011/09/22 Javascript
jquery控制display属性为none或block
2014/03/31 Javascript
推荐一个自己用的封装好的javascript插件
2015/01/29 Javascript
express文件上传中间件Multer详解
2016/10/24 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
2019/05/30 jQuery
javascript实现图片轮播代码
2019/07/09 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
python 编程之twisted详解及简单实例
2017/01/28 Python
用python实现对比两张图片的不同
2018/02/05 Python
django反向解析和正向解析的方式
2018/06/05 Python
对Python信号处理模块signal详解
2019/01/09 Python
python调试神器PySnooper的使用
2019/07/03 Python
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
Kaufmann Mercantile官网:家居装饰、配件、户外及更多
2018/09/28 全球购物
作弊检讨书
2015/01/27 职场文书
道士塔读书笔记
2015/06/30 职场文书
医院保洁员管理制度
2015/08/05 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python
Python中npy和mat文件的保存与读取
2022/04/24 Python