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 PDOStatement:bindParam插入數(shù)據(jù)錯(cuò)誤問(wèn)題分析
PHP PDOStatement:bindParam插入數(shù)據(jù)錯(cuò)誤問(wèn)題分析,開(kāi)發(fā)中一定要注意2013-11-11
Smarty foreach控制循環(huán)次數(shù)的實(shí)現(xiàn)詳解
在smarty中數(shù)組是經(jīng)常會(huì)用到的,循環(huán)遍歷數(shù)組用 section 或者 foreach ,如何得到數(shù)組長(zhǎng)度或者判斷一個(gè)數(shù)組個(gè)數(shù)呢2013-07-07
php簡(jiǎn)單實(shí)現(xiàn)sql防注入的方法
這篇文章主要介紹了php簡(jiǎn)單實(shí)現(xiàn)sql防注入的方法,涉及addslashes函數(shù)的使用及正則過(guò)濾的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2016-04-04
PHP實(shí)現(xiàn)QQ空間自動(dòng)回復(fù)說(shuō)說(shuō)的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)QQ空間自動(dòng)回復(fù)說(shuō)說(shuō)的方法,涉及php基于curl調(diào)用自動(dòng)回復(fù)接口的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-12-12
php遞歸實(shí)現(xiàn)無(wú)限分類生成下拉列表的函數(shù)
php自定義函數(shù)之遞歸實(shí)現(xiàn)無(wú)限分類生成下拉列表,這樣可以提高效率,不用每次都從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)。2010-08-08
JS+PHP實(shí)現(xiàn)用戶輸入數(shù)字后顯示最大的值及所在位置
這篇文章主要給大家介紹了JS+PHP實(shí)現(xiàn)用戶輸入數(shù)字后顯示最大的值及是第幾個(gè)的相關(guān)位置,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來(lái)一起看看吧。2017-06-06
解析:通過(guò)php socket并借助telnet實(shí)現(xiàn)簡(jiǎn)單的聊天程序
本篇文章是對(duì)通過(guò)php socket并借助telnet實(shí)現(xiàn)簡(jiǎn)單聊天程序的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

