1.ob緩存運行方式
2.注意:在程序中如果開啟ob_start(),所有的echo輸出都會保存到ob緩存中,可以使用ob系列函數進行操作,如果沒有,默認情況下,在程序執行結束,會把緩存中的數據發送給瀏覽器,如果,你使用ob_clean()類似的函數,會情況緩存中的內容,那么就不用有數據發送給瀏覽器
ob_start() 開啟
ob_get_contents() 獲取緩存中的數據
ob_clean() 清空緩存中的數據
ob_end() 關閉ob緩存
ob_end_clean() 清空緩存並關閉ob緩存
ob_flush() 刷新緩沖區【就是把ob緩存中的內容放到程序緩存中,緩存中內容就是空了,默認是在程序執行完后再放到程序緩存中,用此函數可以在程序執行時任意時候放到程序緩存中】
flush() 把程序緩存內容推送到瀏覽器【一些版本的 Microsoft Internet Explorer 只有當接受到的256個字節以后才開始顯示該頁面,所以必須發送一些額外的空格來讓這些瀏覽器顯示頁面內容。】
說的簡單點:默認情況下,php會把輸出的內容放到【程序緩存】中,待程序跑完,把【程序緩存】中的東西全部拋到瀏覽器中;現在使用ob緩存,開啟后,所有的輸出都會放到【ob緩存】中,頭信息(header)等這些依舊存放到【程序緩存】中,待程序跑完,【ob緩存】中的內容會被放到【程序緩存】內容后面,再送到瀏覽器。ob_flush()是把【ob緩存】中的內容放到【程序緩存】中,之前只有待程序跑完才會把【ob緩存】內容放到【程序緩存】中,現在用ob_flush()就可以在任意時候送到【程序緩存】中;flush()函數的作用是把【程序緩存】中的數據拋到瀏覽器中;
總結:ob_flush()把ob緩存中的內容放到程序緩存
flush()是把程序緩存中的內容送到瀏覽器緩存中