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下把数组保存为文件格式的实例应用
Feb 08 PHP
PHP 简易输出CSV表格文件的方法详解
Jun 20 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
May 29 PHP
PHP APC配置文件2套和参数详解
Jun 11 PHP
php生成唯一的订单函数分享
Feb 02 PHP
PHP strtotime函数用法、实现原理和源码分析
Feb 04 PHP
php文件下载处理方法分析
Apr 22 PHP
PHP网站建设的流程与步骤分享
Sep 25 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
Oct 08 PHP
PHP xpath()函数讲解
Feb 11 PHP
Centos7安装swoole扩展操作示例
Mar 26 PHP
php7连接MySQL实现简易查询程序的方法
Oct 13 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的MVC模式实现原理分析(一相简单的MVC框架范例)
2014/04/29 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
JSON 教程 json入门学习笔记
2020/09/22 Javascript
javascript五图轮播切换实用版
2012/08/17 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
抛弃Nginx使用nodejs做反向代理服务器
2014/07/17 NodeJs
jQuery之DOM对象和jQuery对象的转换与区别分析
2015/01/08 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
JavaScript实现Flash炫光波动特效
2015/05/14 Javascript
利用CSS3在Angular中实现动画
2016/01/15 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
js canvas实现擦除效果示例代码
2017/04/26 Javascript
前端跨域的几种解决方式总结(推荐)
2017/08/16 Javascript
js核心基础之闭包的应用实例分析
2019/05/11 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
ant design vue中表格指定格式渲染方式
2020/10/28 Javascript
python 参数列表中的self 显式不等于冗余
2008/12/01 Python
ssh批量登录并执行命令的python实现代码
2012/05/25 Python
Python中的yield浅析
2014/06/16 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
python RC4加密操作示例【测试可用】
2019/09/26 Python
Pandas时间序列基础详解(转换,索引,切片)
2020/02/26 Python
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
六一儿童节活动策划方案
2014/01/27 职场文书
护士在校生自荐信
2014/02/01 职场文书
采购意向书范本
2014/03/31 职场文书
公司市场专员岗位职责
2014/06/29 职场文书