Discuz教程网

用php的ob_start来生成静态页面的方法分析

[复制链接]
authicon dly 发表于 2011-3-16 19:35:49 | 显示全部楼层 |阅读模式
php下利用ob_start来生成静态页面的方法,需要生成静态的朋友可以参考下。
虽然方法很多,但使用起来简便容易的,我觉得还是先判断已经生成的首页文件的生成时间和现有时间之间的差值,如果满足某个值就开始生成,这种方法比较来得容易,不多说了,开始吧!
在开始之前还是提一下三个函数吧:"ob_start()、ob_end_clean()、ob_get_contents()"
ob_start():是打开缓冲区的,就是要把您需要生成的静态文件的内容缓存在这里;
ob_get_contents():是读出缓冲区里的内容,下面有代码为例;
ob_end_clean():这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来;复制内容到剪贴板代码:
代码如下:


  1. if(file_exists("./index.htm"))//看静态index.htm文件是否存在
  2. {
  3. $time=time(); //文件修改时间和现在时间相差?的话,直接导向htm文件,否则重新生成htm
  4. if($time-filemtime("./index.htm")< 600)
  5. {
  6. header("Location:classhtml/main.htm"); }
  7. }
  8. //在你的开始处加入ob_start();CHINAZ
  9. //首页内容,就是你的动态部分了
  10. //在结尾加入ob_end_clean(),并把本页输出到一个变量中
  11. $temp=ob_get_contents();
  12. ob_end_clean();
  13. //写入文件
  14. $fp=fopen("./index.htm",'w');
  15. fwrite($fp,$temp) or die('写文件错误');
  16. //echo"生成HTML完成!";
复制代码

实例代码:
代码如下:


  1. <?php
  2. ob_start();
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <title><?php echo '编程导航 dh.jb51.net';?></title>
  9. </head>
  10. <body>
  11. <?php echo "dh.jb51.net";?>
  12. </body>
  13. </html>
  14. <?php
  15. $cacheStr=ob_get_contents();
  16. $handle=fopen("jb51.html","w");
  17. fwrite($handle, $cacheStr);
  18. ob_clean();
  19. ?>
复制代码






上一篇:Discuz.htm注释版 For Discuz X1.5 20121228
下一篇:C#快速入门之C#的基本语法
authicon fantuanzi 发表于 2011-5-7 23:59:53 | 显示全部楼层
好东东下下来看看
authicon 丁加丁 发表于 2011-5-8 16:59:36 | 显示全部楼层
万分感谢楼主
authicon 夕梨二世 发表于 2011-5-10 13:59:40 | 显示全部楼层
好辛苦才找到啊
authicon Pianissimo 发表于 2011-5-15 22:59:48 | 显示全部楼层
喜欢喜欢喜欢
authicon 蓝色天空k 发表于 2011-5-25 18:59:36 | 显示全部楼层
回贴下载呀
authicon NicoleOnly 发表于 2011-5-26 01:59:41 | 显示全部楼层
这个要顶起来啊
authicon NicoleOnly 发表于 2011-6-17 03:59:55 | 显示全部楼层
支持楼主,顶一下
authicon yuki佳 发表于 2011-6-21 17:00:09 | 显示全部楼层
很好的,我喜欢
authicon fantuanzi 发表于 2011-6-24 10:59:54 | 显示全部楼层
顶的就是你
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-6-17 17:22

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表