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 的 __FILE__ 常量
Jan 15 PHP
ThinkPHP采用模块和操作分析
Apr 18 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
Apr 19 PHP
PHP数组传递是值传递而非引用传递概念纠正
Jan 31 PHP
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
php stream_get_meta_data返回值
Sep 29 PHP
ThinkPHP CURD方法之page方法详解
Jun 18 PHP
php实现微信公众号无限群发
Oct 11 PHP
PHP的运行机制与原理(底层)
Nov 16 PHP
利用php做服务器和web前端的界面进行交互
Oct 31 PHP
PHP实现多级分类生成树的方法示例
Feb 07 PHP
2017年最好用的9个php开发工具推荐(超好用)
Oct 23 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自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
PHP实现通用alert函数的方法
2015/03/11 PHP
PHP文件操作详解
2016/12/30 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
javascript页面加载完执行事件代码
2014/02/11 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
JS实现的样式切换功能tableCSS实例
2016/12/30 Javascript
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
2019/04/30 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
2020/05/22 Javascript
[03:57]DOTA2英雄梦之声_第03期_幻影刺客
2014/06/21 DOTA
Python实现Const详解
2015/01/27 Python
详解Django中Request对象的相关用法
2015/07/17 Python
快速排序的算法思想及Python版快速排序的实现示例
2016/07/02 Python
pip matplotlib报错equired packages can not be built解决
2018/01/06 Python
python让列表倒序输出的实例
2018/06/25 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
Python中实现单例模式的n种方式和原理
2018/11/14 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
Python扫描端口的实现
2021/01/25 Python
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
业务部门经理岗位职责
2014/02/23 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
报效祖国演讲稿
2014/09/15 职场文书
公司离职证明标准样本
2014/10/05 职场文书
机动车登记业务委托书
2014/10/08 职场文书
2014年幼儿园个人工作总结
2014/11/10 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
JavaScript实现简单拖拽效果
2021/09/15 Javascript