PHP 緩存區ob
阿新 • • 發佈:2018-07-08
保存 header bsp span 清空 自己的 介紹 緩沖 cli
介紹:
ob是output buffering的簡稱,輸出緩沖區,緩沖區是通過php.ini中的output_buffering變量控制的。其默認值是off,可以設置為on來打開buffer。打來buffer後,即便程序中沒有用ob函數,實際上代碼也是使用了緩沖區的。另外,不管php.ini中output_buffering的設置,cli模式下的php始終默認是關閉的。為什麽要是緩沖區呢?簡單來說,高速的cpu早早處理完自己的數據,想通過線路傳遞給用戶,但是線路太窄了,一下輸送不過去。如果引入緩沖區,cpu可以將快速將生成的數據放入緩沖區,然後自己哪兒涼快兒哪兒呆著這歇著去了。緩沖區根據指令適時將數據輸出。這個樣就合理解決了高速cpu與低速I/O設備的矛盾了。
使用基本原則:
如果ob緩存打開,則echo的數據首先放在ob緩存。如果是header信息,直接放在程序緩存。當頁面執行到最後,會把ob緩存的數據放到程序緩存,然後依次返回給瀏覽器。
基本使用方法:
// 開啟OB ob_start(); //輸出一些內容,此時輸出的內容並不會真正輸出,而是保存在緩沖區 echo "hello"; echo "word"; //從緩沖區獲取數據 $info = ob_get_contents(); //關閉並清空緩沖區 ob_end_clean(); var_dump($info); //輸出:string ‘helloword‘ (length=9)
PHP 緩存區ob