解析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 中文和编码判断代码
May 16 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
Dec 07 PHP
ThinkPHP Mobile使用方法简明教程
Jun 18 PHP
php中的mongodb select常用操作代码示例
Sep 06 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
Oct 16 PHP
PHP 实现代码复用的一个方法 traits新特性
Feb 22 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
Nov 09 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
PHP中ajax无刷新上传图片与图片下载功能
Feb 21 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
Apr 23 PHP
PHP7新特性
Mar 09 PHP
Laravel中获取IP的真实地理位置
Apr 01 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实现约瑟夫问题的方法小结
2015/03/23 PHP
Javascript 各浏览器的 Javascript 效率对比
2008/01/23 Javascript
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
让Firefox支持event对象实现代码
2009/11/07 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
解决jquery版本冲突的有效方法
2014/09/02 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
2015/03/23 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
webpack中引用jquery的简单实现
2016/06/08 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
H5上传本地图片并预览功能
2017/05/08 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
webpack之引入图片的实现及问题
2018/10/08 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
[01:31]DOTA2上海特级锦标赛 SECRET战队完整宣传片
2016/03/16 DOTA
python difflib模块示例讲解
2017/09/13 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
2021/01/29 Python
html+css实现自定义图片上传按钮功能
2019/09/04 HTML / CSS
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
2016/01/20 HTML / CSS
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
服装设计师职业生涯规划范文
2014/02/28 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书
小学生家长意见
2015/06/03 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL