喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
 22  1/3  1  2  3  > 
     
标题: [问题] [续]生成大量静态文件后如何保证模板变更带来的麻烦  
 
php5
金牌会员
Rank: 6Rank: 6
中级会员


UID 62897
精华 0
积分 1264
帖子 1113
金钱 1264 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2005-1-3
来自 福建
状态 离线
[续]生成大量静态文件后如何保证模板变更带来的麻烦

当你生成了大量静态文件后,要改模板布局了,这时保证这些静态文件的风格保持一致性方法如之前一位老大的话,访问时生成方可解决

设想如下:
一、页面 onload 时访问一PHP文件
二、该PHP文件中判断当前页面是否为最新的模板
三、如不是最新模板,则重新载入模板生成当前页面的静态文件
四、标记当前页面为最新模板
五、重新生成后,返回JS脚本刷新当前页面
六、显示最新的页面,完成
2007-3-24 01:34 PM#1
查看资料  发短消息  顶部
 
剑枫 (雪花)
论坛元老
Rank: 8Rank: 8
欧玛嘎


UID 26144
精华 1
积分 4863
帖子 1735
金钱 4853 喜悦币
威望 10
人脉 0
阅读权限 90
注册 2004-2-14
来自 山东郓城
状态 离线
[推荐阅读] 如何用PHP关闭一个进程
我是这样做的:
1.第一次浏览查看是否有静态文件。
2.如果没有则生成静态,同时touch模板文件一个过期的修改时间。
3.下次访问时取得模板的mtime,如果等于这个设定的过期时间,则直接调用静态 文件。
4.否则,重新生成,重新touch时间。




在场外支持奥运.....
2007-3-24 02:11 PM#2
查看资料  访问主页  发短消息  QQ . .   顶部
 
sanders_yao
版主
Rank: 7Rank: 7Rank: 7
or2 =333


UID 30286
精华 0
积分 11786
帖子 4970
金钱 11783 喜悦币
威望 0
人脉 3
阅读权限 100
注册 2004-7-23
来自 北京 菜户营
状态 离线
[推荐阅读] 请教正则只能匹配a-Z0-9_- 不能纯数字
方法好
但是onload事件的话已经将当前页面都加载完成后才会执行
如果用script标记在head标记中间引用一个php文件
这样就可以根据被引用的php文件的输出控制当前页面的location对象 当新文件创建成功时就跳转
不用等当前页面加载完毕
2007-3-24 05:56 PM#3
查看资料  Blog  发短消息  顶部
 
php5
金牌会员
Rank: 6Rank: 6
中级会员


UID 62897
精华 0
积分 1264
帖子 1113
金钱 1264 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2005-1-3
来自 福建
状态 离线
[推荐阅读] 请问如何搜索多个关键字,用空格分开的
哈哈,sanders_yao 说得有道理,我写了这个PHP文件来验证模板文件是否被修改过

<?php
$t_name        
=$_GET['n'];//模板名称
$t_edit_time=$_GET['d'];//模板最后更新时间
$f_id        =$_GET['i'];
if(
eregi("^[_a-zA-Z0-9]+$",$t_name.$t_edit_time))//验证字串合法性
{
     @
$step=filemtime('/tpl/'.$t_name.'.tpl')-$t_edit_time;
     if(
$step>=10)//判断模板最后修改时间与页面生成时间比,10秒防恶意刷新
     
{
        
//执行静态页面生成
        
exit('刷新一下页面的JS');
     }
}
exit;
?>
生成的静态文件中可以包含:

<script src="xxx.php?n=(当前静态页面所用的模板名)&t=(模板最后修改的时间)"></script>
[ 本帖最后由 php5 于 2007-3-24 06:47 PM 编辑 ]
2007-3-24 06:40 PM#4
查看资料  发短消息  顶部
 
php5
金牌会员
Rank: 6Rank: 6
中级会员


UID 62897
精华 0
积分 1264
帖子 1113
金钱 1264 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2005-1-3
来自 福建
状态 离线
[推荐阅读] 如何用javascript代码设置div背景图
现在唯一担忧的是filemtime的性能如何
2007-3-24 06:45 PM#5
查看资料  发短消息  顶部
 
剑枫 (雪花)
论坛元老
Rank: 8Rank: 8
欧玛嘎


UID 26144
精华 1
积分 4863
帖子 1735
金钱 4853 喜悦币
威望 10
人脉 0
阅读权限 90
注册 2004-2-14
来自 山东郓城
状态 离线
[推荐阅读] PHP MSN群
touch一个时间为 1970年,已经修改日期当然会变,这样就简单



在场外支持奥运.....
2007-3-24 08:37 PM#6
查看资料  访问主页  发短消息  QQ . .   顶部
 
LuckLrj (中国php中的爱因斯坦)
版主
Rank: 7Rank: 7Rank: 7
老会员


UID 64836
精华 0
积分 2600
帖子 3139
金钱 2600 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2005-6-19
状态 离线
[推荐阅读] 刚开始学习lifeType的疑问
成大量静态文件后
你还能每个静态文件 onload=xxx.php???事先写好了这个的?




学习,工作累了,请访问我的小站,娱乐一下。http://www.52sunny.net
2007-3-24 10:12 PM#7
查看资料  Blog  发短消息  顶部
 
php5
金牌会员
Rank: 6Rank: 6
中级会员


UID 62897
精华 0
积分 1264
帖子 1113
金钱 1264 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2005-1-3
来自 福建
状态 离线
[推荐阅读] 上海公司诚聘phper2两名
是我表达错了,的确是为以后考虑
2007-3-26 08:56 AM#8
查看资料  发短消息  顶部
 
swlin
新手上路
Rank: 1



UID 79969
精华 0
积分 20
帖子 23
金钱 20 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2006-9-13
状态 离线
[推荐阅读] 免费的网店系统,助您创建个人网店~~
套用CMSware里的,不要怕麻烦,所有重新刷,只是怕你的数据结构设计的没有CMSware的好
2007-3-27 09:46 PM#9
查看资料  发短消息  顶部
 
uuq
高级会员
Rank: 4
中级会员


UID 28149
精华 1
积分 821
帖子 859
金钱 811 喜悦币
威望 10
人脉 0
阅读权限 50
注册 2004-4-27
来自 广州
状态 离线
[推荐阅读] 发帖测试,我会自己删除的
重新生成很快的
2007-3-27 10:53 PM#10
查看资料  发短消息  顶部
 22  1/3  1  2  3  > 
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.024415 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP