• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP定时自动生成静态HTML的实现代码_php技巧

php 搞代码 3年前 (2022-01-26) 32次浏览 已收录 0个评论

但定时生成就受到了一些局限性,大家如果有独立服务器的能在服务器上设置计划任务,但如果是使用虚拟主机的可就不好办了.虽然方法非常多.但使用起来简便容易的,我觉得还是先判断已生成的首页文件的生成时间和现有时间之间的差值,如果满足某个值就开始生成这种方法比较来得容易.不多说了.开始吧!

网上找到的,记一下。实践证明,可用。

 <BR><?php <BR>$nowtime=time(); <BR>$pastsec = $nowtime – $_GET["t"]; <br><br>if($pastsec<60) <BR>{ <BR>exit; //1分钟更新一次,时间可以自己调整 <BR>} <br><br>ob_start(); //打开缓冲区 <BR>include(”index.php”); <BR>$content = ob_get_contents(); //得到缓冲区的内容 <BR>$content .= “n<script language=javascript src=”f5.php?t=”.$nowtime.”"></script>”; //加上调用更新程序的代码 <br><br>file_put_contents(”index.html”,$content); <br><br>if (!fun<mark>6来源gaodaimacom搞#^代%!码网</mark><strong>搞gaodaima代码</strong>ction_exists(”file_put_contents”)) <BR>{ <BR>function file_put_contents($fn,$fs) <BR>{ <BR>$fp=fopen($fn,”w+”); <BR>fputs($fp,$fs); <BR>fclose($fp); <BR>} <BR>} <BR>


下面是一些解说:
在开始之前还是提一下三个函数吧:”ob_start()、ob_end_clean()、ob_get_contents()”

 <BR>ob_start():是打开缓冲区的,就是要把你需要生成的静态文件的内容缓存在这里; <BR>ob_get_contents():是读出缓冲区里的内容,下面有代码为例; <BR>ob_end_clean():这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来; <BR>

[code]
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完成!”;
[html]


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP定时自动生成静态HTML的实现代码_php技巧

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址