ob_start([string output_callback])- 打開輸出緩沖區
所有的輸出信息不在直接發送到浏覽器,而是保存在輸出緩沖區裡面,可選得回調函數用於處理輸出結果信息。
ob_end_flush - 結束(發送)輸出緩沖區的內容,關閉輸出緩沖區
使用output control 函數可以讓自由控制腳本中數據的輸出,這在我們想在header之前輸出時很有用。
代碼如下:
<?php
ob_start(); //打開緩沖區
echo "輸出n"; //輸出
header("頭部信息");
ob_end_flush();//輸出全部內容到浏覽器
?>
個人使用ob多數是在生成靜態html的時候,當某個頁面不會再刷新,當其他的用戶再次浏覽此頁面時,程序將不會再調用php以及相關的數據庫教程。這時候使用ob生成html就是很好的做法。
代碼如下:
<?php
ob_start();
if(@readfile($tem_path)){ //把指定路徑中的內容寫入緩存中。如果不存在返回false(就是某個你想轉換成html的php文件)
$content= ob_get_contents(); //得到緩存中的內容
$fp = fopen("1.html", "w"); //創建一個文件,並打開,准備寫入
fwrite($fp, $content); //把php頁面的內容全部寫入1.html
}
fclose($fp);
ob_clean();
?>