php 判斷頁(yè)面或圖片是否經(jīng)過(guò)gzip壓縮的方法
使用php判斷頁(yè)面或圖片是否經(jīng)過(guò)gzip壓縮方法
1.使用get_headers
頁(yè)面內(nèi)容
<?php ob_start('ob_gzhandler'); // 開(kāi)啟gzip,屏蔽則關(guān)閉 $data = array( array('name'=>'one','value'=>1), array('name'=>'two','value'=>2), array('name'=>'three','value'=>3) ); header('content-type:application/json'); echo json_encode($data); ?>
使用get_headers判斷是否使用gzip壓縮
<?php $url = 'http://www.example.com/'; var_dump(check_gzip($url)); /** * 判斷url是否經(jīng)過(guò)gzip壓縮 * @param String $url 來(lái)源 * @param Boolean */ function check_gzip($url){ $header = get_headers($url, 1); if(isset($header['Vary']) && $header['Vary']=='Accept-Encoding'){ return true; } return false; } ?>
測(cè)試結(jié)果:
當(dāng)加上ob_gzhandler時(shí),返回true,刪除后返回false
2.使用curl
圖片
<?php header('content-type:image/jpeg'); ob_start('ob_gzhandler'); // 開(kāi)啟gzip,屏蔽則關(guān)閉 echo file_get_contents('test.jpg'); ?>
使用curl判斷是否使用gzip壓縮
<?php $url = 'http://www.example.com/'; var_dump(check_gzip($url)); /** * 判斷url是否經(jīng)過(guò)gzip壓縮 * @param String $url 來(lái)源 * @param Boolean */ function check_gzip($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); // 輸出header信息 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 返回的信息不直接輸出 curl_setopt($ch, CURLOPT_ENCODING, ''); // 不限制編碼類型 $response = curl_exec($ch); if(!curl_errno($ch)){ $info = curl_getinfo($ch); // 獲取header $header_size = $info['header_size']; $header_str = substr($response, 0, $header_size); $filter = array("\r\n", "\r"); $header_str = str_replace($filter, PHP_EOL, $header_str); // 檢查content-encoding preg_match('/Content-Encoding: (.*)\s/i', $header_str, $matches); if(isset($matches[1]) && $matches[1]=='gzip'){ return true; } } return false; } ?>
測(cè)試結(jié)果:
當(dāng)加上ob_gzhandler時(shí),返回true,刪除后返回false
以上這篇php 判斷頁(yè)面或圖片是否經(jīng)過(guò)gzip壓縮的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 淺談關(guān)于PHP解決圖片無(wú)損壓縮的問(wèn)題
- php基于ob_start(ob_gzhandler)實(shí)現(xiàn)網(wǎng)頁(yè)壓縮功能的方法
- php中10個(gè)不同等級(jí)壓縮優(yōu)化圖片操作示例
- PHP 實(shí)現(xiàn)等比壓縮圖片尺寸和大小實(shí)例代碼
- php gd等比例縮放壓縮圖片函數(shù)
- php使用pclzip類實(shí)現(xiàn)文件壓縮的方法(附pclzip類下載地址)
- php上傳圖片并壓縮的實(shí)現(xiàn)方法
- PHP實(shí)現(xiàn)圖片上傳并壓縮
- Yii2中使用asset壓縮js,css文件的方法
- Yii2壓縮PHP中模板代碼的輸出問(wèn)題
相關(guān)文章
php sprintf()函數(shù)讓你的sql操作更安全
本函數(shù)用來(lái)將字符串格式化。參數(shù) format 是轉(zhuǎn)換的格式,以百分比符號(hào) % 開(kāi)始到轉(zhuǎn)換字符為止。而在轉(zhuǎn)換的格式間依序包括了2008-07-07php設(shè)計(jì)模式 Decorator(裝飾模式)
動(dòng)態(tài)的給一個(gè)對(duì)象添加一些額外的職責(zé),就擴(kuò)展功能而言比生成子類方式更為靈活2011-06-06php strnatcmp()函數(shù)的用法總結(jié)
這篇文章主要是對(duì)php中strnatcmp()函數(shù)的用法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-11-11php時(shí)間計(jì)算相關(guān)問(wèn)題小結(jié)
這篇文章主要介紹了php時(shí)間計(jì)算相關(guān)問(wèn)題,結(jié)合實(shí)例形式總結(jié)分析了php關(guān)于時(shí)間與日期的常見(jiàn)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-05-05基于PHPexecl類生成復(fù)雜的報(bào)表表頭示例
這篇文章主要介紹了基于PHPexecl類生成復(fù)雜的報(bào)表表頭功能,結(jié)合實(shí)例形式分析了實(shí)例化PHPexecl類生成復(fù)雜報(bào)表表頭的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2016-10-10NOD32 v2.70.32 簡(jiǎn)體中文封裝版 提供下載了
NOD32 v2.70.32 簡(jiǎn)體中文封裝版 提供下載了...2007-02-02PHP轉(zhuǎn)換文本框內(nèi)容為HTML格式的方法
這篇文章主要介紹了PHP轉(zhuǎn)換文本框內(nèi)容為HTML格式的方法,通過(guò)自定義函數(shù)實(shí)現(xiàn)字符串轉(zhuǎn)換為HTML格式的功能,涉及php針對(duì)HTML標(biāo)簽的替換技巧,需要的朋友可以參考下2016-07-07