程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中file_get_contents獲取網頁亂碼解決辦法

php中file_get_contents獲取網頁亂碼解決辦法

編輯:關於PHP編程

昨天我在做一個簡單采集功能時我直接使用了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之前安裝的方法.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved