在php編程中, 我們經常會遇到一些直接產生輸出的函數, 如passthru(),readfile(), var_dump() 等. 但有時我們想把這些函數的輸出導入到文件中,或者先經過處理再輸出, 或者把這些函數的輸出作為字符串來處理.
這時我們就要用到 Output Buffer(輸出緩沖) 函數了.
處理輸出緩沖的函數主要有這么幾個:
ob_start() 開始輸出緩沖, 這時php停止輸出, 在這以后的輸出都被轉到一個內部的緩沖里.
ob_get_contents() 這個函數返回內部緩沖的內容. 這就等于把這些輸出都變成了字符串.
ob_get_ length() 返回內部緩沖的長度.
ob_end_flush() 結束輸出緩沖, 并輸出緩沖里的內容. 在這以后的輸出都是正常輸出.
ob_end_clean() 結束輸出緩沖, 并扔掉緩沖里的內容.
舉個例子, var_dump()函數輸出一個變量的結構和內容, 這在調試的時候很有用.
但如果變量的內容里有 < , > 等HTML的特殊字符, 輸出到網頁里就看不見了. 怎么辦呢?
用輸出緩沖函數能很容易的解決這個問題.
ob_start();
var_dump($var);
$out = ob_get_contents();
ob_end_clean();
這時var_dump()的輸出已經存在 $out 里了. 你可以現在就輸出:
echo '<pre>' . htmlspecialchars($out) . '</pre>' ;
或者等到將來, 再或者把這個字符串送到模板(Template)里再輸出.
php技術:php中ob(Output Buffer 輸出緩沖)函數使用方法,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。