时间:2021-07-01 10:21:17 帮助过:21人阅读
本文实例讲述了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为任意数字,你把里面的输出换成你的动态页面就可以了,代码里有解释
ob_start();
/*下面的内容就是你原来的动态页面*/
$id=isset($_GET["id"])?$_GET["id"]:'';
if ($id!=''){
echo "原使用参数的页面 参数为".$id."</br>已生成$id.html</a>";
}
/*结束*/
$info=ob_get_contents();
$file=fopen($id.'.html','w');
fwrite($file,$info);
fclose($file);
?>
主要可以用以下三种方法:
1、利用超链接连接文字</a>
还可在test.php后面添加“?id=idvalue&cate=catevalue”等以给test.php传递必要的参数,在test.php中可以利用$_GET[id]和$_GET[cate](或者$_REQUEST[id]和$_REQUEST[cate])获取参数的值。
2、利用表单提交