php函數ob_start()、ob_end_clean()、ob_get_contents()

下面3個函數的用法php

  • ob_get_contents() - 返回輸出緩衝區的內容html

  • ob_flush() - 沖刷出(送出)輸出緩衝區中的內容瀏覽器

  • ob_clean() - 清空(擦掉)輸出緩衝區服務器

  • ob_end_flush() - 沖刷出(送出)輸出緩衝區內容並關閉緩衝函數

  • ob_end_clean() - 清空(擦除)緩衝區並關閉輸出緩衝spa

  • flush() - 刷新輸出緩衝    .net

一般是ob_flush();flush()同時一塊兒使用
使用ob_start()把輸出那同輸出到緩衝區,而不是到瀏覽器。
而後用ob_get_contents獲得緩衝區的數據。code

ob_start()在服務器打開一個緩衝區來保存全部的輸出。因此在任什麼時候候使用echo ,輸出都將被加入緩衝區中,直到程序運行結束或者使用ob_flush()來結束。而後在服務器中緩衝區的內容纔會發送到瀏覽器,由瀏覽器來解析顯示。

函數ob_end_clean 會清除緩衝區的內容,並將緩衝區關閉,但不會輸出內容。
此時得用一個函數ob_get_contents()在ob_end_clean()前面來得到緩衝區的內容。
這樣的話, 能將在執行ob_end_clean()前把內容保存到一個變量中,而後在ob_end_clean()後面對這個變量作操做。htm

例:get

<?php

ob_start();

echo "Hello ";

$out1 = ob_get_contents();

echo "World";

$out2 = ob_get_contents();

ob_end_clean();

var_dump($out1, $out2);

?>

輸出:

string(6) "Hello "
string(11) "Hello World"
相關文章
相關標籤/搜索