社区
基础编程
帖子详情
各位对定时产生静态html有何妙法?
foxmx
2004-04-16 10:57:08
如题..........
...全文
43
15
打赏
收藏
各位对定时产生静态html有何妙法?
如题..........
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gaofaq
2004-04-17
打赏
举报
回复
<?php
/*
Class : Lcache
Author : L0ading <Loadingao@msn.com>
2004.04.03
Usage :
$sample = new Lcache();
echo "hello";
$sample->out();
*/
class Lcache {
var $bufferFileName;
var $en;
var $content;
function Lcache($LimitTime="600") {
$this->bufferFileName = basename($_SERVER['PHP_SELF'],".php").".buf";
ob_start();
if (!file_exists($this->bufferFileName) || (int)date(time()-@filemtime($this->bufferFileName))>$LimitTime) {
$this->en = true;
} else {
$this->en = false;
$this->readBuf();
}
}
function readBuf() {
$fp = fopen($this->bufferFileName,"r");
$this->content = fread($fp,filesize($this->bufferFileName));
}
function get() {
$this->content = ob_get_contents();
ob_clean();
}
function bufferTo() {
$fp = fopen($this->bufferFileName,"w");
fputs($fp,$this->content);
fclose($fp);
}
function out() {
$this->get();
if ($this->en) {
$this->bufferTo();
}
echo $this->content;
}
}
?>
xylegend
2004-04-17
打赏
举报
回复
up
hahawen
2004-04-17
打赏
举报
回复
最好是在用户第一次访问的时候生成静态页面,后台的计划任务只要定时删除静态文件就行了。
countstars
2004-04-17
打赏
举报
回复
为什么要那么做呢?
为什么不在你更新的时候才刷新缓存呢?
foxmx
2004-04-17
打赏
举报
回复
我在学校的服务器上放了一个测试页,大家不妨去试试看...
http://xgb.newgxu.cn/test2.php
另外,欢迎csdn友发表别的看法...大家互相学习嘛.......嘻嘻...
foxmx
2004-04-17
打赏
举报
回复
gaofaq(老高)的做法不错,
phanx(饭扫光)的办法也很好.
hahawen(变态的大龄青年)的方法对服务器有一定开销,不是很好.以前我们做新闻系统的时候就是这么做.
我的方法和老高的差不多:
<?php
error_reporting(E_ALL & ~E_NOTICE);
/////////////////////////////////////////////////////
//*********判断缓存中的文件是否过期****************//
//***$fn:文件名***$expire:时间间隔数**************//
////////////////////////////////////////////////////
function isTimeOut($fn,$expire){
$tag = 1;
if (is_file($fn)){
$ftime = filemtime($fn);//文件创建时间
$ctime = time(); //当前时间
if ($ctime - $ftime < $expire){
$tag = 0;
}
}
return $tag;
}
$filename = 'index.html';
//如果文件没有过期则读取缓存中的内容
if (!isTimeOut($filename,60)){
readfile($filename);
exit;
}
//否则使用缓存输出文件
else{
ob_start();
include('createIndex.php'); //创建index.html
$content=ob_get_contents(); //得到缓冲区的内容
$fp=fopen($filename,'w'); //打开文件
fwrite($fp,$content); //写入信息
fclose($fp); //关闭文件
}
?>
cookiecookiecookie
2004-04-17
打赏
举报
回复
为了减轻服务器的负担,可以把经常需要更换的页面用javascript中document.write
写然后保存为js文件
可以定期查询数据库获得最新的文章信息后直接修改js文件
phanx
2004-04-17
打赏
举报
回复
如果不要将大量的页面转为静态,而只是针对部分页面,例如首页的话。那么在linux下面的一个好办法如下:
编辑一个文件例如 getindex ,内容为
用 wget -O /path/to/your/dir/index.html http://www.your.com/yyyyy_for_index.php
然后再crontab里面设定运行 就ok了
例如半个小时刷新一次 crontab 里面就是 0,30 * * * * /root/getindex
(crontabe 具体用法请看 man手册)
注意是 -O 不是-0
nullfox
2004-04-16
打赏
举报
回复
可以做一个定时更新的假象,例如我们想每三天更新一次:
在一个用户经常访问的页面内加一个判断,第一次,将更新日期写入数据库(比如时戳为a),这样用户每次访问该页面时都检测一次,比较当前时戳(b),如果b和a的时间差值为3天,则重新生成一次HTML,同时更新数据库中时戳,反之跳过。
。。。这样不就间接地实现了吗
chinaworker
2004-04-16
打赏
举报
回复
这样不把服务器折腾死才怪
ironage
2004-04-16
打赏
举报
回复
在服务端做程序吧
foxmx
2004-04-16
打赏
举报
回复
呵呵....
继续....
ccterran
2004-04-16
打赏
举报
回复
可以做一个页面定时刷新
ccterran
2004-04-16
打赏
举报
回复
1,用ob_等控制输出函数
2,用模板.把模板分析结果写入文件
3,配置服务器.
chinaworker
2004-04-16
打赏
举报
回复
定时?
php 如何定时?
用c++ 做吧...........
静态
网页作品-精美个人主页源代码
针对很多人为了交作业在网上找
静态
网页作业,帮一个学生做的个人网页,经过美化修改,第一次发出来供初学者学习参考。 包含6个独立页面,分别为首页index.
html
、about.
html
、flash.
html
、message.
html
、photo.
html
、riji.
html
关于本设计、flash欣赏、留言板、照片、日记 包含css样式表文件,背景音乐…… 希望大家喜欢!
HTML
5/CSS3实现五彩进度条应用源码程序
基于
HTML
5和CSS3的进度条应用,这款进度条是
静态
的,仅提供进度条的五彩外观。当然你可以在CSS中动态设置进度值来让其变得动态,一个很好的实现方式是利用jQuery动态改变CSS中的进度值,让进度条实时动起来。演示 http://www.
html
5tricks.com/demoex/5-progress-bars/index.
html
2014年java技术与框架使用情况统计报告
2014年java相关技术与框架使用情况统计报告。英文。由RebelLabs统计。 JAVA TOOLS AND TECHNOLOGIES LANDSCAPE FOR 2014 A GLOBAL SURVEY OF 2164 JAVA PROFESSIONALS 包括不同java框架、服务器、构建工具,
静态
代码分析工具等的使用情况。
java
静态
方法有哪些用处?
Java是一种面向对象的编程语言,它提供了
静态
方法作为类级别的方法。
静态
方法与实例方法不同,它不依赖于对象的实例,可以直接通过类名调用。本文将介绍
静态
方法的概念,探讨
静态
方法的几种常见用途,并提供相应的代码示例。
静态
方法在Java中具有广泛的应用。本文介绍了
静态
方法的概念,并探讨了它的几种常见用途,包括共享方法、工具方法和单例模式。共享方法可以被所有类的实例共享,提供类级别的功能;工具方法用于提供独立于对象实例的函数;单例模式通过
静态
方法实现类的单一实例。
静态
变量与非
静态
变量的区别?
文章目录
静态
变量与非
静态
变量的区别JAVA中初始化的顺序
静态
变量与非
静态
变量的区别 java类中的变量有两种: 一种是被 static 关键字修饰的变量,叫类变量或者
静态
变量: 类的
静态
变量在内存中只有一个,java虚拟机在加载类的过程中为
静态
变量分配内存,
静态
变量位于方法区,被类的所有实例共享。
静态
变量可以直接通过类名进行访问,其生命周期取决于类的生命周期。 另一种没有 static 修饰,为成员变量: 而实例变量取决于类的实例。每创建一个实例,java虚拟机就会为实例变量分配一次内存,
基础编程
21,893
社区成员
140,347
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章