解析PHP中的file_get_contents獲取遠程頁面亂碼的問題
更新時間:2013年06月25日 16:16:52 作者:
本篇文章是對PHP中的file_get_contents獲取遠程頁面出現(xiàn)亂碼的問題進行了詳細的分析介紹,需要的朋友參考下
PHP的file_get_contents獲取遠程頁面內(nèi)容,如果是gzip編碼過的,返回的字符串就是編碼后的亂碼
1、解決方法,找個ungzip的函數(shù)來轉(zhuǎn)換下
2、給你的url加個前綴,這樣調(diào)用
$content = file_get_contents("compress.zlib://".$url);
無論頁面是否經(jīng)過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;
}
1、解決方法,找個ungzip的函數(shù)來轉(zhuǎn)換下
2、給你的url加個前綴,這樣調(diào)用
$content = file_get_contents("compress.zlib://".$url);
無論頁面是否經(jīng)過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中echo、print和print_r的區(qū)別點及用法總結(jié)
在本篇文章里小編給大家整理的是一篇關于php中echo、print和print_r的區(qū)別點及用法總結(jié)內(nèi)容,有需要的朋友們可以學習下。2021-12-12