今天就跟大家聊聊有關(guān)使用php遠程讀取gzip壓縮的網(wǎng)頁,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的利川網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設(shè)合作伙伴!php是一個嵌套的縮寫名稱,是英文超級文本預處理語言,它的語法混合了C、Java、Perl以及php自創(chuàng)新的語法,主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因為php是開源的,從而使得php經(jīng)久不衰。
代碼如下:
$url = 'http://www.xxx.com/21/?type=23′;
$temp = file_get_contents($url);
echo $temp;
都得到一片亂碼,查看了許多內(nèi)容,包括頁面的header信息,發(fā)現(xiàn)原來頁面使用了。
類似的信息,即Content-Encoding為gzip,即該站點開啟了gzip壓縮。這里的解決方案有多種,當然如果你使用file_get_contents的話,可以這樣修改:
復制代碼 代碼如下:
file_get_contents("compress.zlib://".$url);
或者使用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"); // 關(guān)鍵在這里
$content = curl_exec($curl);
curl_close($curl);
return $content;
}
同時,參考手冊上面的解法,還可以對保存gzip類型的字符串進行處理如下:
復制代碼 代碼如下:
function gzdecode($data){
$g=tempnam(‘/tmp','ff');
@file_put_contents($g,$data);
ob_start();
readgzfile($g);
$d=ob_get_clean();
return $d;
}
看完上述內(nèi)容,你們對使用php遠程讀取gzip壓縮的網(wǎng)頁有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。