php基于ob_start(ob_gzhandler)實(shí)現(xiàn)網(wǎng)頁(yè)壓縮功能的方法
本文實(shí)例講述了php基于ob_start('ob_gzhandler')實(shí)現(xiàn)網(wǎng)頁(yè)壓縮功能的方法。分享給大家供大家參考,具體如下:
PHP生成網(wǎng)頁(yè)后傳送給瀏覽器顯示 ,頁(yè)面的打開速度除了與用戶的網(wǎng)速有關(guān),往往也跟頁(yè)面的大小有很關(guān)系,我們可以從網(wǎng) 頁(yè)大小著手,以提高網(wǎng)頁(yè)的響應(yīng)速度。
下面的代碼是一個(gè)壓縮網(wǎng)頁(yè)的例子,我們利用ob_gzip函數(shù),使用ob_start將輸出內(nèi)容壓縮后放到“緩沖區(qū)”后再輸出 。
PHP代碼
//啟用壓縮
if(function_exists('ob_gzip'))
{
ob_start('ob_gzip');
}
//準(zhǔn)備一些待壓縮的內(nèi)容
for($i=0; $i<100; $i++)
{
echo('這里是測(cè)試內(nèi)容 <br>');
}
//輸出壓縮成果
ob_end_flush();
//這是ob_gzip壓縮函數(shù)
function ob_gzip ($content)
{
if( !headers_sent() && extension_loaded ("zlib") && strstr ( $_SERVER["HTTP_ACCEPT_ENCODING"], "gzip")){
$content = gzencode($content,9);
header ("Content- Encoding: gzip");
header ("Vary: Accept- Encoding");
header ("Content- Length: ".strlen ($content));
}
return ($content) ;
}
到底作用有 多大,在這里我就上面的代碼進(jìn)行了測(cè)試。
壓縮前:

壓縮后:

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php緩存技術(shù)總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php程序設(shè)計(jì)算法總結(jié)》、《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《php正則表達(dá)式用法總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php函數(shù)serialize()與unserialize()用法實(shí)例
這篇文章主要介紹了php函數(shù)serialize()與unserialize()用法,以實(shí)例形式詳細(xì)講述了php函數(shù)serialize()與unserialize()的適用情況與使用方法,具有很好的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11
php 按指定元素值去除數(shù)組元素的實(shí)現(xiàn)方法
php 按指定元素值去除數(shù)組元素的實(shí)現(xiàn)方法,需要的朋友可以參考下。2011-11-11
解析PHP自帶的進(jìn)位制之間的轉(zhuǎn)換函數(shù)
本篇文章是對(duì)PHP自帶的進(jìn)位制之間的轉(zhuǎn)換函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
JS中encodeURIComponent函數(shù)用php解碼的代碼
在JS中使用了encodeURIComponent對(duì)中文進(jìn)行編碼在PHP中使用iconv('UTF-8','gb2312',$q);就可以得到你需要的字串了,其中g(shù)b2312根據(jù)你實(shí)際應(yīng)用來定如還不明白為什么看下面的文章2012-03-03

