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


Posted in PHP onJune 20, 2010

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

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

<?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 相关文章推荐
用PHP来写记数器(详细介绍)
Oct 09 PHP
PHP--用万网的接口实现域名查询功能
Dec 13 PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
Jun 13 PHP
memcache命令启动参数中文解释
Jan 13 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
Jun 22 PHP
ThinkPHP分页实例
Oct 15 PHP
PHP获取服务器端信息的方法
Nov 28 PHP
调试WordPress中定时任务的相关PHP脚本示例
Dec 10 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
Feb 15 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP使用Http Post请求发送Json对象数据代码解析
Jul 16 PHP
用php如何解决大文件分片上传问题
Jul 07 PHP
PHP XML操作的各种方法解析(比较详细)
Jun 17 #PHP
PHP操作xml代码
Jun 17 #PHP
PHP XML error parsing SOAP payload on line 1
Jun 17 #PHP
PHP zlib扩展实现页面GZIP压缩输出
Jun 17 #PHP
PHP,ASP.JAVA,JAVA代码格式化工具整理
Jun 15 #PHP
PHP迅雷、快车、旋风下载专用链转换代码
Jun 15 #PHP
PHP中实现汉字转区位码应用源码实例解析
Jun 14 #PHP
You might like
swfupload 多文件上传实现代码
2008/08/27 PHP
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
jquery实现瀑布流效果分享
2014/03/26 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
2014/06/16 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
javascript输出AscII码扩展集中的字符方法
2016/12/26 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
Bootstrap fileinput组件封装及使用详解
2017/03/10 Javascript
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
Python中的super()方法使用简介
2015/08/14 Python
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
python 读取文件并替换字段的实例
2018/07/12 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
jupyter notebook中新建cell的方法与快捷键操作
2020/04/22 Python
pandas 数据类型转换的实现
2020/12/29 Python
如何给HTML标签中的文本设置修饰线
2019/11/18 HTML / CSS
Sam’s Club山姆会员商店:沃尔玛旗下高端会员制商店
2017/01/16 全球购物
工作交流会欢迎词
2014/01/12 职场文书
护理助产毕业生的求职信
2014/03/02 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers