PHP4 采用了緩沖機制,在你決定發送以前,所有內容只是存在於緩沖中 ,而不是直接發送給浏覽器 ,雖然你可以用 header 和 setcookie 函數來實現, 但是這兩個函數相比於功能強大的輸出函數來說只是一點“雕蟲小技”。讓我們來看看這些函數的真本事 :
void ob_start (void );
本函數告訴 PHP 處理器把所有輸出重定向到內部緩沖 ,調用這個函數後 ,就不會有輸出到浏覽器。
string ob_get_contents( void) ;
本函數把輸出緩沖返回到一個字符串, 你可以用來把堆積起來的輸出一起發送到浏覽器。當然要先關掉緩沖。
int ob_get_length( void) ;
本函數返回輸出緩沖的長度。
void ob_end_clean (void );
本函數清除並關閉緩沖。在輸出到浏覽器之前你需要使用這個函數。
void ob_implicit_flush ( [int flag])
本函數用來控制隱式緩沖瀉出 ,缺省為 off ,如果打開時 ,對每個 print/ echo 或者輸出命令的結果都發送到浏覽器。
二、采用輸出控制來壓縮 PHP 的輸出
在開始之前, 要保證你的 PHP4 編譯時支持 Zlib。
首先 ,初始化輸出緩沖 :
PHP 輸出緩沖函數在操作腳本輸出方面十分有用, 把緩沖壓縮後輸出能減少 80% 的輸出時間, 這對於存取其他數據資源( 例如數據庫或者 XML) 來說, 也是一個很好的緩沖機制