电脑软硬件应用网
当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > PHP教程 > 正文
2种使用php定时更新静态首页页面的方法
2种使用php定时更新静态首页页面的方法
2010-4-23 8:09:25  文/网络收集   出处:电脑软硬件应用网   

本文和大家讲一下在PHP中如何定时更新静态页面的方法,一起来看下吧。
方法一:

实现思路:

写一个程序m.php用ob调用network.php的输出(如果默认把network.php作为首页的话),把输出内容保存到 index.html,并在后面加上调用m.php的代码(<script language=javascript src=m.php?t=".$nowtime."></script>,t是更新时间,下次更新时可以先判断是否到了更新时间) .第一次需要手工执行m.php生成index.html,以后在访问index.html时会自动调用m.php更新index.html,从而实现静 态首页的自动更新.
代码:

try{ <? $nowtime=time(); $pastsec=$nowtime-$_GET["t"]; if ($pastsec<300) { exit; //5分钟更新一次,时间可以自己调整 } ob_start(); //打开缓冲区  include("network.php"); $content=ob_get_contents(); //得到缓冲区的内容  $content.="\n<script language=javascript src=\"m.php?t=".$nowtime."\"></script>"; //加上调用更新程序的代码  file_put_contents("index.html",$content); if (!function_exists("file_put_contents")) { function file_put_contents($fn,$fs) { $fp=fopen($fn,"w "); fputs($fp,$fs); fclose($fp); } } ?> } catch(e){};

下面是方法二。

PHP实现定时生成HTML网站首页
在开始之前还是提一下三个函数吧:"ob_start()、ob_end_clean()、ob_get_contents()"
ob_start():是打开缓冲区的,就是要把您需要生成的静态文件的内容缓存在这里;
ob_get_contents():是读出缓冲区里的内容,下面有代码为例;
ob_end_clean():这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来;
if(file_exists("./index.htm"))//看静态index.htm文件是否存在
{
 time=time();
 //文件修改时间和现在时间相差?的话,直接导向htm文件,否则重新生成htm
 if(time-filemtime("./index.htm")< 600)
 {
  header("Location:classhtml/main.htm");
 }
}
//在你的开始处加入ob_start();
ob_start();
//首页内容,就是你的动态部分了
//在结尾加入ob_end_clean(),并把本页输出到一个变量中
temp=ob_get_contents();
ob_end_clean();
//写入文件
fp=fopen("./index.htm",'w');
fwrite(fp,temp) or die('写文件错误');
//echo"生成HTML完成!";

  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    解决PHP设置使用date或mktime函数问…
    分享PHP实现Web系统单点登录的方法
    PHP实用对付IP攻击升级程序改进
    超级有用网站防IP攻击代码详解
    Cannot start session without erro…
    PHP开发应用程序:生成随机字符串的方…
    PHP开发技巧:PHP网站发开实用技巧集…
    详解如何正确配置PHP开发环境
    PHP里实现汉字转区位码的示例代码
    PHP实现列出目录内容与删除目录的内…
    关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 |

    Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号