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

yipeiwu_com6年前PHP代码库
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中使用imagick生成PSD文件缩略图教程

PHP中使用imagick生成PSD文件缩略图教程

第一步、安装ImageMagick   首先需要安装 ImageMagick http://imagemagick.org/script/binary-releases.php,因为 i...

PHP实现读取文件夹及批量重命名文件操作示例

PHP实现读取文件夹及批量重命名文件操作示例

本文实例讲述了PHP实现读取文件夹及批量重命名文件操作。分享给大家供大家参考,具体如下: 以读取从网上下载的评书解压后的文件夹为例,并批量重命名 文件夹内容如下,现在使用php读取这个...

php 中self,this的区别和操作方法实例分析

本文实例讲述了php 中self,this的区别和操作方法。分享给大家供大家参考,具体如下: 面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人...

PHP连接及操作PostgreSQL数据库的方法详解

本文实例讲述了PHP连接及操作PostgreSQL数据库的方法。分享给大家供大家参考,具体如下: PostgreSQL扩展在默认情况下在最新版本的PHP 5.3.x中是启用的。 可以在编...

Windows环境下安装PHP Pear的方法图文教程

Windows环境下安装PHP Pear的方法图文教程

本文实例讲述了Windows环境下安装PHP Pear的方法。分享给大家供大家参考,具体如下: PEAR简介 PEAR是PHP扩展与应用库(the PHP Extension and A...