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
PHP中PDO的错误处理
Sep 04 PHP
解析php如何将日志写进syslog
Jun 28 PHP
PHP利用MySQL保存session的实现思路及示例代码
Sep 09 PHP
网站防止被刷票的一些思路与方法
Jan 08 PHP
php编写简单的文章发布程序
Jun 18 PHP
ThinkPHP路由详解
Jul 27 PHP
php实现三级级联下拉框
Apr 17 PHP
PHP实现清除MySQL死连接的方法
Jul 23 PHP
php封装的mongodb操作类代码
Aug 06 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 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
香妃
2021/03/03 冲泡冲煮
PHP写的求多项式导数的函数代码
2012/07/04 PHP
php长字符串定义方法
2012/07/12 PHP
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
php使用curl访问https示例分享
2014/01/17 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
destoon公司主页模板风格的添加方法
2014/06/20 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
JavaScript基本对象
2007/01/11 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
2012/12/19 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
2015/10/26 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
javascript css红色经典选项卡效果实现代码
2016/05/17 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
jQuery得到多个值只能用取Class ,不能用取ID的方法
2016/12/04 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
JavaScript文档加载模式以及元素获取
2020/07/28 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
2021/02/04 jQuery
详解Python中DOM方法的动态性
2015/04/11 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
浅谈python标准库--functools.partial
2019/03/13 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
Python selenium使用autoIT上传附件过程详解
2020/05/26 Python
Python 操作 MySQL数据库
2020/09/18 Python
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
给排水专业应届生求职信
2013/10/12 职场文书
护士岗前培训自我评鉴
2014/02/28 职场文书
银行稽核岗位职责
2015/04/13 职场文书
法律意见书范文
2015/06/04 职场文书
飞越疯人院观后感
2015/06/09 职场文书