php讀取遠(yuǎn)程gzip壓縮網(wǎng)頁(yè)的方法
今天在調(diào)取一家商城的頁(yè)面信息時(shí)候,使用file_get_contents抑或curl:
$url = 'http://www.xxx.com/21/?type=23′;
$temp = file_get_contents($url);
echo $temp;
都得到一片亂碼,查看了許多內(nèi)容,包括頁(yè)面的header信息,發(fā)現(xiàn)原來(lái)頁(yè)面使用了。

類似的信息,即Content-Encoding為gzip,即該站點(diǎn)開啟了gzip壓縮。這里的解決方案有多種,當(dāng)然如果你使用file_get_contents的話,可以這樣修改:
file_get_contents("compress.zlib://".$url);
或者使用curl來(lái)完成:
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"); // 關(guān)鍵在這里
$content = curl_exec($curl);
curl_close($curl);
return $content;
}
同時(shí),參考手冊(cè)上面的解法,還可以對(duì)保存gzip類型的字符串進(jìn)行處理如下:
function gzdecode($data){
$g=tempnam(‘/tmp','ff');
@file_put_contents($g,$data);
ob_start();
readgzfile($g);
$d=ob_get_clean();
return $d;
}
- php使用ob_start()實(shí)現(xiàn)圖片存入變量的方法
- PHP使用ob_start生成html頁(yè)面的方法
- php緩沖 output_buffering和ob_start使用介紹
- 用php的ob_start來(lái)生成靜態(tài)頁(yè)面的方法分析
- 用PHP ob_start()控制瀏覽器cache、生成html實(shí)現(xiàn)代碼
- 使用php判斷網(wǎng)頁(yè)是否gzip壓縮
- PHP壓縮html網(wǎng)頁(yè)代碼(清除空格,換行符,制表符,注釋標(biāo)記)
- php中ob函數(shù)緩沖機(jī)制深入理解
- php中ob_get_length緩沖與獲取緩沖長(zhǎng)度實(shí)例
- php ob_flush,flush在ie中緩沖無(wú)效的解決方法
- php中ob(Output Buffer 輸出緩沖)函數(shù)使用方法
- php基于ob_start(ob_gzhandler)實(shí)現(xiàn)網(wǎng)頁(yè)壓縮功能的方法
相關(guān)文章
php采集中國(guó)代理服務(wù)器網(wǎng)的方法
這篇文章主要介紹了php采集中國(guó)代理服務(wù)器網(wǎng)的方法,涉及php采集的相關(guān)使用技巧,需要的朋友可以參考下2015-06-06
PHP Ajax實(shí)現(xiàn)頁(yè)面無(wú)刷新發(fā)表評(píng)論
PHP Ajax實(shí)現(xiàn)頁(yè)面無(wú)刷新發(fā)表評(píng)論...2007-01-01
Fatal error: Call to undefined function curl_init()解決方法
Fatal error: Call to undefined function curl_init()解決方法2010-04-04
PHP接收json 并將接收數(shù)據(jù)插入數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了PHP接收json 并將接收數(shù)據(jù)插入數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-12-12
PHP結(jié)合JQueryJcrop實(shí)現(xiàn)圖片裁切實(shí)例詳解
這篇文章主要介紹了PHP結(jié)合JQueryJcrop實(shí)現(xiàn)圖片裁切實(shí)例,非常實(shí)用的一個(gè)功能,需要的朋友可以參考下2014-07-07
PHP實(shí)現(xiàn)清除wordpress里惡意代碼
這篇文章主要介紹了PHP實(shí)現(xiàn)清除wordpress里惡意代碼的方法以及相關(guān)代碼和使用方法,有需要的小伙伴可以參考下。2015-10-10
使用Smarty 獲取當(dāng)前日期時(shí)間和格式化日期時(shí)間的方法詳解
本篇文章是對(duì)使用Smarty獲取當(dāng)前日期時(shí)間和格式化日期時(shí)間的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php簡(jiǎn)單實(shí)現(xiàn)文件或圖片強(qiáng)制下載的方法
這篇文章主要介紹了php簡(jiǎn)單實(shí)現(xiàn)文件或圖片強(qiáng)制下載的方法,通過(guò)自定義函數(shù)實(shí)現(xiàn)文件或圖片的簡(jiǎn)單讀取、輸出相關(guān)操作技巧,需要的朋友可以參考下2016-12-12
php無(wú)限級(jí)評(píng)論嵌套實(shí)現(xiàn)代碼
本文講的是php無(wú)限級(jí)評(píng)論嵌套實(shí)例介紹, 我在設(shè)計(jì)BB的過(guò)程中,也一直在思考是否可以不通過(guò)遞歸來(lái)實(shí)現(xiàn)無(wú)限級(jí)分類的結(jié)構(gòu)展現(xiàn)和父子結(jié)構(gòu)查找,因?yàn)槿绻粚?duì)這里的算法進(jìn)行優(yōu)化后果可能是致命的2018-04-04

