飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

定时生成页面的ASP/PHP代码

Author:飘易 Source:飘易
Categories:Asp编程 PostTime:2010-11-11 23:47:40
正 文:
   很多时候,我们需要用到定时生成html页面的功能,原理简介:利用文件如index.html的最后修改时间和当前的时间做比较,当时间差超过一定间隔如2小时,则调用相关页面进行生成新页面。原始源代码如下。


   PHP版本的的定时生成页面的:
<?php
$file = dirname(__FILE__).'/index.html';
$timex=time()-filemtime($file); //间隔时间,单位秒
if($timex>7200){ //间隔大于2小时,重新生成
echo "<script language=javascript src='crhtml.php'></script>";
}
?>

   ASP版本的的定时生成页面的:

<%
'不缓存
Response.Buffer = True 
Response.ExpiresAbsolute = Now() - 1 
Response.Expires = 0 
Response.cachecontrol = "no-cache"

'读取最后修改时间
FPath=server.mappath("index.html") 
set fso=server.CreateObject("scripting.filesystemobject") 
If fso.fileExists(FPath) Then 
Set f = fso.GetFile(FPath) 
crdate=f.DateLastModified
end if

if DateDiff("h",crdate,now())>10 then '时间间隔大于一定值
response.write "<iframe border=0 frameborder=0 scrolling=no width=0 height=0 src=""/crhtml.asp""></iframe>"
end if
%>

    使用方法:在网站的流量大的页面,一般为首页用 iframe 调用上面的代码即可,如插入 <iframe border=0 frameborder=0 scrolling=no width=0 height=0 src="/create.asp"></iframe>

    2011-7-9 @ PS更新:正如下面留评论的朋友所说,此种方法的确会增加服务器负担。为了避免这种方式的缺点,有2种方法来解决,一、减少频繁访问被调用页面的次数,如在流量不大的页面调用 create.asp ; 二、直接使用 linux cron定时服务,参考文章如下:

1、linux使用crontab命令定时重启服务器
2、Cron定时执行带参数的PHP代码
3、Cpanel下Cron Jobs定时执行PHP的方法

    这样就可以避免频繁调用生成判断页面了,只在需要执行的时候访问一次生成页面即可。
作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:Godaddy最新域名主机优惠码(2010年11月)
下一篇:百度联盟灰色+热门软件的收入
6条评论 “定时生成页面的ASP/PHP代码”
2010-11-21 16:53:44
看来又是很专业性的东西了
2010-11-26 22:49:55
正在找这个,多谢分享!
2010-11-29 11:00:04
专业啊!!!!  但是 这个广告 真 难看
4 eelark
2011-3-23 14:31:43
这样会增加服务器的负担吧,每次页面打开都要做这个判断哦
2011-4-23 21:31:44
真不错的,谢谢分享!
2011-7-7 18:37:33
给楼主提个意见,综合4楼的意见,我之前是这样做的,判断页面大小,精确一点计算到字节大小,一般只要首页稍做改动大小会发生变化,这个时候再去生成首页文件!总之就是,只要首页有内容变化就自动更新
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2010 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有 渝ICP备07006361号