PHP使用ob_start生成html頁(yè)面的方法

字號(hào):


    ob_start([string output_callback])- 打開(kāi)輸出緩沖區(qū)
    所有的輸出信息不在直接發(fā)送到瀏覽器,而是保存在輸出緩沖區(qū)里面,可選得回調(diào)函數(shù)用于處理輸出結(jié)果信息。
    ob_end_flush - 結(jié)束(發(fā)送)輸出緩沖區(qū)的內(nèi)容,關(guān)閉輸出緩沖區(qū)
    使用output control 函數(shù)可以讓自由控制腳本中數(shù)據(jù)的輸出,這在我們想在header之前輸出時(shí)很有用。
    代碼如下:
    <?php
    ob_start(); //打開(kāi)緩沖區(qū)
    echo "輸出n"; //輸出
    header("頭部信息");
    ob_end_flush();//輸出全部?jī)?nèi)容到瀏覽器
    ?>
    個(gè)人使用ob多數(shù)是在生成靜態(tài)html的時(shí)候,當(dāng)某個(gè)頁(yè)面不會(huì)再刷新,當(dāng)其他的用戶(hù)再次瀏覽此頁(yè)面時(shí),程序?qū)⒉粫?huì)再調(diào)用php以及相關(guān)的數(shù)據(jù)庫(kù)教程。這時(shí)候使用ob生成html就是很好的做法。
    代碼如下:
    <?php
    ob_start();
    if(@readfile($tem_path)){ //把指定路徑中的內(nèi)容寫(xiě)入緩存中。如果不存在返回false(就是某個(gè)你想轉(zhuǎn)換成html的php文件)
    $content= ob_get_contents(); //得到緩存中的內(nèi)容
    $fp = fopen("1.html", "w"); //創(chuàng)建一個(gè)文件,并打開(kāi),準(zhǔn)備寫(xiě)入
    fwrite($fp, $content); //把php頁(yè)面的內(nèi)容全部寫(xiě)入1.html
    }
    fclose($fp);
    ob_clean();
    ?>