设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间11 现在时间11 缓存数据 "如果你喜欢一个人, 一定要告诉她 不是为了要她报答, 而是让她在以后黑暗的日子里, 否定自己的时候, 想起世界上还有人这么喜欢她 她并非一无是处。"

"如果你喜欢一个人, 一定要告诉她 不是为了要她报答, 而是让她在以后黑暗的日子里, 否定自己的时候, 想起世界上还有人这么喜欢她 她并非一无是处。" -- 感谢你曾来过

查看: 679|回复: 0

asp与php中定时生成页面的思路与代码

[复制链接]

  离线 

TA的专栏

  • 打卡等级:即来则安
  • 打卡总天数:22
  • 打卡月天数:0
  • 打卡总奖励:266
  • 最近打卡:2025-04-13 23:10:29
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
444
主题
404
精华
0
金钱
1562
积分
892
注册时间
2023-2-10
最后登录
2025-5-31

发表于 2023-2-12 09:54:16 | 显示全部楼层 |阅读模式

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

  1. <?php
  2. $file = dirname(__FILE__).'/index.html';
  3. $timex=time()-filemtime($file); //间隔时间,单位秒
  4. if($timex>7200){ //间隔大于2小时,重新生成
  5. echo "<script language=javascript src='crhtml.php'></script>";
  6. }
  7. ?>
复制代码

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

  1. <%
  2. '不缓存
  3. Response.Buffer = True
  4. Response.ExpiresAbsolute = Now() - 1
  5. Response.Expires = 0
  6. Response.cachecontrol = "no-cache"
  7. '读取最后修改时间
  8. FPath=server.mappath("index.html")
  9. set fso=server.CreateObject("scripting.filesystemobject")
  10. If fso.fileExists(FPath) Then
  11. Set f = fso.GetFile(FPath)
  12. crdate=f.DateLastModified
  13. end if
  14. if DateDiff("h",crdate,now())>10 then '时间间隔大于一定值
  15. response.write "<iframe border=0 frameborder=0 scrolling=no width=0 height=0 src=""/crhtml.asp""></iframe>"
  16. end if
  17. %>
复制代码

使用方法:在网站的流量大的页面,一般为首页用 iframe 调用上面的代码即可,如插入
2011-7-9 @ PS更新:正如下面留评论的朋友所说,此种方法的确会增加服务器负担。为了避免这种方式的缺点,有2种方法来解决,

一、减少频繁访问被调用页面的次数,如在流量不大的页面调用 create.asp ;

二、直接使用 linux cron定时服务、或windows计划任务或一些定时执行命令的小软件 例如:hou任务计划。

参考文章如下:

1、linux使用crontab命令定时重启服务器

2、Cron定时执行带参数的PHP代码

3、Cpanel下Cron Jobs定时执行PHP的方法

这样就可以避免频繁调用生成判断页面了,只在需要执行的时候访问一次生成页面即可。

使用了cdn的网站需要注意的问题

鉴于现在很多网站都使用了cdn,如果不断自动生成首页可能导致首页为空的情况下被cdn抓取到导致首页是空内容,那么这样怎么解决呢。

晓枫资讯的方案:例如可以生成index_def.htm,然后通过程序判断内容是否有更新,内容是否不为空(内容一般大于30k),这样执行复制操作将index_def.htm复制一份为index.htm即可。

winddow服务器下可以使用vbscript因为比较强大,linux可以使用shell。

vbscript

  1. Dim fso
  2. Set fso = CreateObject("Scripting.FileSystemObject")
  3. f1="F:\webroot\jb51net\index_def.htm"
  4. f2="F:\webroot\jb51net\index.htm"
  5. fsize=50000 '50k
  6. set fn2=fso.GetFile(f1)
  7. flsize2=fn2.size
  8. fldate2=fn2.datelastmodified
  9. set fn=fso.GetFile(f2)
  10. flsize1=fn.size
  11. fldate1=fn.datelastmodified
  12. If fso.FileExists(f1) and flsize2>fsize and fldate2>fldate1 Then
  13. fso.getfile(f1).copy(f2)
  14. if err.number=0 then WriteHistory "成功"&now()&".........","log.txt"
  15. end if
  16. Sub WriteHistory(hisChars, path)
  17. Const ForReading = 1, ForAppending = 8
  18. Dim fso, f
  19. Set fso = CreateObject("Scripting.FileSystemObject")
  20. Set f = fso.OpenTextFile(path, ForAppending, True)
  21. f.WriteLine hisChars
  22. f.Close
  23. End Sub
复制代码

晓枫资讯原创文章,免费提供给大家了。

到此这篇关于asp与php中定时生成页面的思路与代码的文章就介绍到这了,更多相关asp定时生成页面内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章希望大家以后多多支持晓枫资讯!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表