1.在PHP程式設計中, 我們經常會遇到一些直接産生輸出的函數, 如passthru(),readfile(), var_dump() 等.
但有時我們想把這些函數的輸出導入到檔案中,或者先經過處理再輸出, 或者把這些函數的輸出作為字元串來處理.
這時我們就要用到 Output
Buffer(輸出緩沖) 函數了.
處理輸出緩沖的函數主要有這麼幾個:
ob_start() 開始輸出緩沖, 這時PHP停止輸出,
在這以後的輸出都被轉到一個内部的緩沖裡.
ob_get_contents() 這個函數傳回内部緩沖的内容.
這就等于把這些輸出都變成了字元串.
ob_get_ length() 傳回内部緩沖的長度.
ob_end_flush()
結束輸出緩沖, 并輸出緩沖裡的内容. 在這以後的輸出都是正常輸出.
ob_end_clean() 結束輸出緩沖, 并扔掉緩沖裡的内容.
舉個例子:
define(‘ob_start‘,true);
if(ob_start){
echo ‘<p>start is
ok</p>‘.‘<br>‘;
}
echo
‘sunzhiyan‘.‘<br>‘;
//var_dump($var);
$out =
ob_get_contents();
ob_end_clean();
ob_end_flush();
echo ‘<pre>‘.$out.‘</pre>‘ ;
這裡我們隻有通過最後的輸出$out,才能能到前面的輸出結果
start is ok