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 相关文章推荐
PHP5中MVC结构学习
Oct 09 PHP
php读取xml实例代码
Jan 28 PHP
PHP中去掉字符串首尾空格的方法
May 19 PHP
整理的一些实用WordPress后台MySQL操作命令
Jan 07 PHP
浅谈apache和nginx的rewrite的区别
Feb 22 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
Jun 25 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
PHP中使用json数据格式定义字面量对象的方法
Aug 20 PHP
Yii2使用自带的UploadedFile实现的文件上传
Jun 20 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
PHP实现浏览器中直接输出图片的方法示例
Mar 14 PHP
thinkphp框架类库扩展操作示例
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
php开启openssl的方法
2014/05/15 PHP
php随机取mysql记录方法小结
2014/12/27 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
JavaScript 基础知识 被自己遗忘的
2009/10/15 Javascript
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
javascript数组去重方法终极总结
2014/06/05 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
2015/08/10 Javascript
封装属于自己的JS组件
2016/01/27 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
iview日期控件,双向绑定日期格式的方法
2018/03/15 Javascript
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
Python实现批量下载图片的方法
2015/07/08 Python
Python 3.8 新功能全解
2019/07/25 Python
python 将Excel转Word的示例
2021/03/02 Python
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
Python文件操作的面试题
2013/06/22 面试题
通用求职信范文模板分享
2013/12/27 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
表彰大会主持词
2014/03/26 职场文书
《四季》教学反思
2014/04/08 职场文书
村庄环境整治方案
2014/05/15 职场文书
应聘教师求职信
2014/07/19 职场文书
四风对照检查材料范文
2014/09/27 职场文书
2015年世界无车日活动总结
2015/03/23 职场文书
2015年感恩节活动总结
2015/03/24 职场文书
关于迟到的检讨书
2015/05/06 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
Pandas数据类型之category的用法
2021/06/28 Python
Python时间操作之pytz模块使用详解
2022/06/14 Python