php基于ob_start(ob_gzhandler)實(shí)現(xiàn)網(wǎng)頁壓縮功能的方法
本文實(shí)例講述了php基于ob_start('ob_gzhandler')實(shí)現(xiàn)網(wǎng)頁壓縮功能的方法。分享給大家供大家參考,具體如下:
PHP生成網(wǎng)頁后傳送給瀏覽器顯示 ,頁面的打開速度除了與用戶的網(wǎng)速有關(guān),往往也跟頁面的大小有很關(guān)系,我們可以從網(wǎng) 頁大小著手,以提高網(wǎng)頁的響應(yīng)速度。
下面的代碼是一個(gè)壓縮網(wǎng)頁的例子,我們利用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í)現(xiàn)一維數(shù)組轉(zhuǎn)二維數(shù)組的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)一維數(shù)組轉(zhuǎn)二維數(shù)組的方法,實(shí)例分析了php操作數(shù)組的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
php中XMLHttpRequest(Ajax)不能設(shè)置自定義的Referer的解決方法
php中XMLHttpRequest(Ajax)不能設(shè)置自定義的Referer的解決方法,需要的朋友可以參考下。2011-11-11
過濾掉PHP數(shù)組中的重復(fù)值的實(shí)現(xiàn)代碼
去除一個(gè)數(shù)組中的重復(fù)值,可以使用foreach方法,也可以使用array_unique方法,下面的代碼兩種方法都使用了。2011-07-07
php簡(jiǎn)單定時(shí)執(zhí)行任務(wù)的實(shí)現(xiàn)方法
這篇文章主要介紹了php簡(jiǎn)單定時(shí)執(zhí)行任務(wù)的實(shí)現(xiàn)方法,涉及curl及sleep等操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
PHP四種統(tǒng)計(jì)在線人數(shù)方式詳細(xì)介紹
這篇文章主要介紹了用PHP來統(tǒng)計(jì)在線人數(shù)的四個(gè)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09

