• 技术文章 >后端开发 >php教程

    php中file_get_contents获取网页乱码解决办法_PHP教程

    2016-07-13 10:57:37原创658

    昨天我在做一个简单采集功能时我直接使用了file_get_contents函数,但是采集有些网站没问题,采集有些网筹码了,后来分析出现乱码是服务器开启了gzip压缩功能哦。

    我采集的一个页面,如下gzip

    知道原因了我们就好办了,先百度了一下得出是可以改用curl操作。

    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;
    }

    采用gzip编码格式

    file_get_contents解决:

    代码如下 复制代码

    file_get_contents("compress.zlib://".$url);

    无论页面是否经过gzip压缩,上述代码都可以正常工作!

    注意:CURL是需要打开的哦。

    curl安装:

    xp下面的安装

    :修改php.ini文件的设置,找到

    代码如下 复制代码
    php_curl.dll

    //取消下在的注释extension=php_curl.dll

    linux下面安装:

    代码如下 复制代码

    # wget http://curl.haxx.se/download/curl-7.17.1.tar.gz

    # tar zxvf curl-7.17.1.tar.gz //解压

    #cd curl-7.17.1

    # ./configure –prefix=/usr/local/curl

    # make

    # make install

    这是安装php之前安装的方法.

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632084.htmlTechArticle昨天我在做一个简单采集功能时我直接使用了file_get_contents函数,但是采集有些网站没问题,采集有些网筹码了,后来分析出现乱码是服务器...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php file get contents 获取 网页 乱码 解决 办法 昨天 在做 一个 简单 采集 功能
    上一篇:PHPStorm解决Xdebug Slow问题_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 设计API接口时,要注意这些地方!• PHP8.3要有新函数了!(json_validate函数说明)• 一文详解PHP实现职责链设计模式(附代码示例)• 手写PHP API框架(二)之Composer的安装使用• 聊聊PHP escapeshellarg函数使用的中文问题
    1/1

    PHP中文网