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 相关文章推荐
我的群发邮件程序
Oct 09 PHP
php5 and xml示例
Nov 22 PHP
PHP操作mysql函数详解,mysql和php交互函数
May 19 PHP
php线性表顺序存储实现代码(增删查改)
Feb 16 PHP
PHP迭代器实现斐波纳契数列的函数
Nov 12 PHP
php中利用explode函数分割字符串到数组
Feb 08 PHP
PHP中应该避免使用同名变量(拆分临时变量)
Apr 03 PHP
10款PHP开源商城系统汇总介绍
Jul 23 PHP
php获取数据库结果集方法(推荐)
Jun 01 PHP
php微信开发之图片回复功能
Jun 14 PHP
Laravel5.7框架安装与使用学习笔记图文详解
Apr 02 PHP
关于PHP求解三数之和问题详析
Nov 09 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实现WEB动态网页静态
2006/10/09 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
详解PHP中的PDO类
2015/07/06 PHP
php实现面包屑导航例子分享
2015/12/19 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
2016/10/14 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
浅谈PHP封装CURL
2019/03/06 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
获取下拉列表框的值是数组,split,$.inArray示例
2013/11/13 Javascript
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
移动Web中图片自适应的两种JavaScript解决方法
2015/06/18 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
python在不同层级目录import模块的方法
2016/01/31 Python
python处理multipart/form-data的请求方法
2018/12/26 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
2020/03/14 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
Python面试题:如何用Python来发送邮件
2016/03/15 面试题
幼儿园秋游活动方案
2014/01/21 职场文书
部门活动策划方案
2014/08/16 职场文书
个人整改措施书面材料
2014/10/24 职场文书
催款通知书范文
2015/04/17 职场文书
个人收入证明范本
2015/06/12 职场文书
爱国主义电影观后感
2015/06/18 职场文书
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android
Golang 字符串的常见操作
2022/04/19 Golang
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技