php基于ob_start(ob_gzhandler)實現(xiàn)網(wǎng)頁壓縮功能的方法
本文實例講述了php基于ob_start('ob_gzhandler')實現(xiàn)網(wǎng)頁壓縮功能的方法。分享給大家供大家參考,具體如下:
PHP生成網(wǎng)頁后傳送給瀏覽器顯示 ,頁面的打開速度除了與用戶的網(wǎng)速有關(guān),往往也跟頁面的大小有很關(guān)系,我們可以從網(wǎng) 頁大小著手,以提高網(wǎng)頁的響應(yīng)速度。
下面的代碼是一個壓縮網(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('這里是測試內(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) ; }
到底作用有 多大,在這里我就上面的代碼進行了測試。
壓縮前:
壓縮后:
更多關(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è)計算法總結(jié)》、《PHP數(shù)學(xué)運算技巧總結(jié)》、《php正則表達式用法總結(jié)》、《PHP運算與運算符用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
php函數(shù)serialize()與unserialize()用法實例
這篇文章主要介紹了php函數(shù)serialize()與unserialize()用法,以實例形式詳細講述了php函數(shù)serialize()與unserialize()的適用情況與使用方法,具有很好的參考借鑒價值,需要的朋友可以參考下2014-11-11php 按指定元素值去除數(shù)組元素的實現(xiàn)方法
php 按指定元素值去除數(shù)組元素的實現(xiàn)方法,需要的朋友可以參考下。2011-11-11解析PHP自帶的進位制之間的轉(zhuǎn)換函數(shù)
本篇文章是對PHP自帶的進位制之間的轉(zhuǎn)換函數(shù)進行了詳細的分析介紹,需要的朋友參考下2013-06-06JS中encodeURIComponent函數(shù)用php解碼的代碼
在JS中使用了encodeURIComponent對中文進行編碼在PHP中使用iconv('UTF-8','gb2312',$q);就可以得到你需要的字串了,其中g(shù)b2312根據(jù)你實際應(yīng)用來定如還不明白為什么看下面的文章2012-03-03