ホームページ >バックエンド開発 >PHPチュートリアル >文字化けしたWebページを取得するためのPHPのfile_get_contentsの解決策_PHPチュートリアル

文字化けしたWebページを取得するためのPHPのfile_get_contentsの解決策_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:57:371102ブラウズ

昨日、簡単な収集機能を実行する際に、file_get_contents関数を直接使用しましたが、いくつかのWebサイトは問題なく収集でき、いくつかのネットワークチップが収集されました。後で、サーバーの電源が入っていたため、コード化けが発生したと分析しました。 gzip圧縮機能。

私が集めたページは以下のgzipです

理由がわかったので、最初に Baidu で検索したところ、代わりにcurl操作を使用できることがわかりました。

カールソリューション

コードは次のとおりです コードをコピー

関数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);
$content を返す;
}

gzip エンコード形式を使用する

file_get_contents ソリューション:

コードは次のとおりです コードをコピー

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

上記のコードは、ページが gzip 圧縮されているかどうかに関係なく機能します。

注: 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カール-7.17.1.tar.gz //解凍

#cdカール-7.17.1

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

#作る

#メイクインストール

phpをインストールする前にインストールする方法です

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632084.html技術記事昨日、簡単な収集機能を実行するときに、file_get_contents 関数を直接使用しましたが、いくつかの Web サイトは問題なく収集でき、いくつかのオンラインチップは収集されました。後で、コード化けの原因はサーバーにあると分析しました。 .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。