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 相关文章推荐
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
Jul 09 PHP
用PHP实现多服务器共享SESSION数据的方法
Mar 16 PHP
编写漂亮的代码 - 将后台程序与前端程序分开
Apr 23 PHP
PHP开发者常犯的10个MySQL错误更正剖析
Jan 30 PHP
Ajax+PHP快速上手及简单应用说明
Jul 24 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
Sep 06 PHP
php中$_GET与$_POST过滤sql注入的方法
Nov 03 PHP
php编写简单的文章发布程序
Jun 18 PHP
PHP自定义多进制的方法
Nov 03 PHP
yii2实现分页,带搜索的分页功能示例
Jan 07 PHP
PHP实现会员账号单唯一登录的方法分析
Mar 07 PHP
PHP创建对象的六种方式实例总结
Jun 27 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
php 生成饼图 三维饼图
2009/09/28 PHP
php模块memcache和memcached区别分析
2011/06/14 PHP
php中getservbyport与getservbyname函数用法实例
2014/11/18 PHP
PHP的PDO错误与错误处理
2019/01/27 PHP
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
浅谈javascript中createElement事件
2014/12/05 Javascript
javascript中arguments,callee,caller详解
2016/03/16 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
浅谈angular2路由预加载策略
2017/10/04 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
2019/10/21 Javascript
python字典DICT类型合并详解
2017/08/17 Python
Python SqlAlchemy动态添加数据表字段实例解析
2018/02/07 Python
Python操作json的方法实例分析
2018/12/06 Python
Python中的heapq模块源码详析
2019/01/08 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
Python后台开发Django的教程详解(启动)
2019/04/08 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
3行Python代码实现图像照片抠图和换底色的方法
2019/10/10 Python
Pandas+Matplotlib 箱式图异常值分析示例
2019/12/09 Python
python面向对象之类属性和类方法案例分析
2019/12/30 Python
python读写文件write和flush的实现方式
2020/02/21 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
给同学的道歉信
2014/01/16 职场文书
初一科学教学反思
2014/01/27 职场文书
运动会通讯稿100字
2014/01/31 职场文书
家长会主持词开场白
2014/03/18 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书