本文實例講述了PHP使用ob_start生成html頁面的方法。分享給大家供大家參考。具體方法分析如下:
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();
?>
希望本文所述對大家的PHP程序設計有所幫助。
很簡單,用ob_start壓制,然後保存到一個html頁面就可以了,寫了個小演示
訪問時在後面加參數 ?id=xxx xxx為任意數字,你把裡面的輸出換成你的動態頁面就可以了,代碼裡有解釋
<?php
ob_start();
/*下面的內容就是你原來的動態頁面*/
$id=isset($_GET["id"])?$_GET["id"]:'';
if ($id!=''){
echo "原使用參數的頁面 參數為".$id."</br>已生成<a href=\"$id.html\">$id.html</a>";
}
/*結束*/
$info=ob_get_contents();
$file=fopen($id.'.html','w');
fwrite($file,$info);
fclose($file);
?>
主要可以用以下三種方法:
1、利用超鏈接<a href="test.php">連接文字</a>
還可在test.php後面添加“?id=idvalue&cate=catevalue”等以給test.php傳遞必要的參數,在test.php中可以利用$_GET[id]和$_GET[cate](或者$_REQUEST[id]和$_REQUEST[cate])獲取參數的值。
2、利用表單提交<form action="test.php“ method="GET">表單內容</form>
此處method可以為GET(test.php,獲取參數如1;也可以為POST,獲取參數類似1,不過要把GET改為POST,REQUEST通用)
3、利用ajax技術。
另外,還可以利用html中的frame技術。