- PHP如何定时自动生成静态HTML?
发布时间:2010-11-15 类别:PHP技术 来源:侠客工作室 -
- 1
- 2
- 3
- 4
- 5
PHP定时自动生成静态HTML的实现代码
网上找到的,记一下。实践证明,可用。
代码如下:
<?php
$nowtime=time();
$pastsec = $nowtime – $_GET["t"];if($pastsec<60)
{
exit; //1分钟更新一次,时间可以自己调整
}ob_start(); //打开缓冲区
include(”index.php”);
$content = ob_get_contents(); //得到缓冲区的内容
$content .= “n<script language=javascript src=”f5.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);
}
}下面是一些解说:
在开始之前还是提一下三个函数吧:"ob_start()、ob_end_clean()、ob_get_contents()"
代码如下:
ob_start():是打开缓冲区的,就是要把你需要生成的静态文件的内容缓存在这里;
ob_get_contents():是读出缓冲区里的内容,下面有代码为例;
ob_end_clean():这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来;
[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]-
中搜索:PHP如何定时自动生成静态HTML? 中搜索:PHP如何定时自动生成静态HTML?
中搜索:PHP如何定时自动生成静态HTML? 中搜索:PHP如何定时自动生成静态HTML?
中搜索:PHP如何定时自动生成静态HTML? 中搜索:PHP如何定时自动生成静态HTML? - ☆☆☆技术交流群:5684178☆☆☆
- 上一篇:PHP 根据IP地址控制访问
- 下一篇:FCKeditor 禁止上传图片功能