ob_start 生成html页面代码

ob_start([string output_callback])- 打开输出缓冲区

所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面,可选得回调函数用于处理输出结果信息。

ob_end_flush - 结束(发送)输出缓冲区的内容,关闭输出缓冲区

使用output control 函数可以让自由控制脚本中数据的输出,这在我们想在header之前输出时很有用。

  1. <?php
  2. ob_start(); //打开缓冲区
  3. echo "输出n"; //输出
  4. header(“头部信息”);
  5. ob_end_flush();//输出全部内容到浏览器
  6. ?>

我个人使用ob多数是在生成静态html的时候,当某个页面不会再刷新,当其他的用户再次浏览此页面时,程序将不会再调用php以及相关的数据库,这时候使用ob生成html就是很好的做法。

  1. <?php
  2.   ob_start();
  3.   if(@readfile($tem_path)){ //把指定路径中的内容写入缓存中。如果不存在返回false(就是某个你想转换成html的php文件)
  4.      $content= ob_get_contents(); //得到缓存中的内容
  5.       $fp = fopen("1.html", "w"); //创建一个文件,并打开,准备写入
  6.       fwrite($fp, $content); //把php页面的内容全部写入1.html
  7.   }
  8.   fclose($fp);
  9.   ob_clean();
  10. ?>