解析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中通过ADODB库实现调用Access数据库之修正版本
Dec 31 PHP
php 日期和时间的处理-郑阿奇(续)
Jul 04 PHP
php读取本地文件常用函数(fopen与file_get_contents)
Sep 09 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
Nov 14 PHP
php获取数组元素中头一个数组元素值的实现方法
Dec 20 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
May 12 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
Jan 04 PHP
php生成酷炫的四个字符验证码
Apr 22 PHP
Yii2简单实现多语言配置的方法
Jul 23 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
Mar 18 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
在JavaScript中调用php程序
2009/03/09 PHP
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
PHP中定义数组常量(array常量)的方法
2014/11/17 PHP
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
2015/08/22 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
Angular项目中$scope.$apply()方法的使用详解
2017/07/26 Javascript
LayUI表格批量删除方法
2018/08/15 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
浅谈python中截取字符函数strip,lstrip,rstrip
2015/07/17 Python
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
把pandas转换int型为str型的方法
2019/01/29 Python
详解Python的循环结构知识点
2019/05/20 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
Python对excel的基本操作方法
2021/02/18 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
HTML5之SVG 2D入门3—文本与图像及渲染文本介绍
2013/01/30 HTML / CSS
汽车技术服务与营销专业推荐信
2013/11/29 职场文书
聊城大学毕业生自荐书
2014/02/01 职场文书
体育运动会广播稿
2014/10/05 职场文书
四大名著读书笔记
2015/06/25 职场文书
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis