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 模板高级篇总结
Dec 21 PHP
php中文字母数字验证码实现代码
Apr 25 PHP
php相当简单的分页类
Oct 02 PHP
PHPWind 发帖回帖Api PHP版打包下载
Feb 08 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
php setcookie函数的参数说明及其用法
Apr 20 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 PHP
一个不易被发现的PHP后门代码解析
Jul 05 PHP
PHP函数实现分页含文本分页和数字分页
Oct 23 PHP
PHP实现的简单sha1加密功能示例
Aug 27 PHP
详解phpstorm2020最新破解方法
Sep 17 PHP
PHP替换Word中变量并导出PDF图片的实现方法
Nov 26 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
Zend Framework教程之Zend_Config_Ini用法分析
2016/03/23 PHP
php实用代码片段整理
2016/11/12 PHP
JS解决url传值出现中文乱码的另类办法
2013/04/08 Javascript
jQuery控制TR显示隐藏的几种方法
2014/06/18 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
2016/05/19 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
2017/03/09 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
AngularJS上传文件的示例代码
2018/11/10 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
浅谈KOA2 Restful方式路由初探
2019/03/14 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
jQuery 添加元素和删除元素的方法
2020/07/15 jQuery
JavaScript实现通讯录功能
2020/12/27 Javascript
python正则表达式修复网站文章字体不统一的解决方法
2013/02/21 Python
python中的__slots__使用示例
2015/02/26 Python
python中快速进行多个字符替换的方法小结
2016/12/15 Python
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
python用700行代码实现http客户端
2021/01/14 Python
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
超市业务员岗位职责
2013/12/05 职场文书
最新的互联网创业计划书
2014/01/10 职场文书
党的作风建设心得体会
2014/10/22 职场文书
早上好问候语大全
2015/11/10 职场文书
入党申请书怎么写?
2019/06/11 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript
Python pygame实现中国象棋单机版源码
2021/06/20 Python