解析PHP中的file_get_contents获取远程页面乱码的问题

2015-01-24信息快讯网

本篇文章是对PHP中的file_get_contents获取远程页面出现乱码的问题进行了详细的分析介绍,需要的朋友参考下

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判断是否为json格式的方法
PHP中session变量的销毁
php中session退出登陆问题
php中require和require_once的区别说明
php把session写入数据库示例
php跨域cookie共享使用方法
PHP中ini_set和ini_get函数的用法小结
php中sprintf与printf函数用法区别解析
PHP json_decode函数详细解析
php的sprintf函数的用法 控制浮点数格式
PHP COOKIE及时生效的方法介绍
codeigniter教程之上传视频并使用ffmpeg转flv示例
使用swoole扩展php websocket示例
php中的路径问题与set_include_path使用介绍
codeigniter教程之多文件上传使用示例
分享下页面关键字抓取components.arrow.com站点代码
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
php递归函数中使用return的注意事项
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
ubuntu12.04使用c编写php扩展模块教程分享
使用php判断网页是否gzip压缩
深入file_get_contents函数抓取内容失败的原因分析
关于PHP session 存储方式的详细介绍
基于php使用memcache存储session的详解
解析centos中Apache、php、mysql 默认安装路径
探讨:如何使用PhpDocumentor生成文档
关于PHPDocument 代码注释规范的总结
通过PHP current函数获取未知字符键名数组第一个元素的值
解析Ubuntu下crontab命令的用法
关于crontab的使用详解
解析func_num_args与func_get_args函数的使用
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
关于file_get_contents返回为空或函数不可用的解决方案
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
解析php框架codeigniter中如何使用框架的session
解析php函数method_exists()与is_callable()的区别
©2014-2024 dbsqp.com