asp定时生成静态HTML的代码
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
asp定时生成静态HTML的代码,对于缓解服务器压力有很大帮主,需要的朋友可以参考下。 复制代码 代码如下: <% '判断是否要生成新的HTML if Application("cache_asptohtml_date")="" then Application.Lock Application("cache_asptohtml_date")=now() Application.Unlock Call aspTohtml Response.Redirect("index.html") end if if DateDiff("s", Application("cache_asptohtml_date"),Now)> 100 then '比较上次更新时间与当前时间相差多少秒 Application.Lock Application("cache_asptohtml_date")=now() Application.UnLock Call aspTohtml Response.Redirect("index.html") Else Response.Redirect("index.html") End if '获取当前目录! function getpath if Request.ServerVariables("SERVER_PORT")<>"80" then UserUrl = "http://"&Request.ServerVariables("SERVER_NAME")& ":" & Request.ServerVariables("SERVER_PORT")& Request.ServerVariables("URL") else UserUrl = "http://"&Request.ServerVariables("SERVER_NAME")& Request.ServerVariables("URL") end if getpath=left(UserUrl,InstrRev(UserUrl,"/")) end function sub aspTohtml '---------------------------------------------------------- '使用XMLHTTP生成静态首页的代码 'Curl 为你的首页地址,确保你的空间支持FSO '----------------------------------------------------------- dim read,Curl,content Curl=getpath&"home.asp" read=getHTTPPage(Curl) if read<>"" then content=read Set Fso = Server.CreateObject("Scripting.FileSystemObject") Filen=Server.MapPath("index.html") Set Site_Config=FSO.CreateTextFile(Filen,true, False) Site_Config.Write content Site_Config.Close Set Fso = Nothing end if End sub Function getHTTPPage(url) dim http set http=Server.createobject("Microsoft.XMLHTTP") Http.open "GET",url,false Http.send() if Http.readystate<>4 then exit function end if getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312") set http=nothing if err.number<>0 then err.Clear End Function Function BytesToBstr(body,Cset) dim objstream set objstream = Server.CreateObject("adodb.stream") objstream.Type = 1 objstream.Mode =3 objstream.Open objstream.Write body objstream.Position = 0 objstream.Type = 2 objstream.Charset = Cset BytesToBstr = objstream.ReadText objstream.Close set objstream = nothing End Function %> ASP定时生成静态页(HTML)2 复制代码 代码如下: <% set fs=server.createobject("scripting.filesystemobject") file=server.mappath("time.txt") set txt=fs.opentextfile(file,1,true) if not txt.atendofstream then times=txt.ReadLine Else response.write "<br /><!--有没有发现time.txt 开始生成!-->" HtmlPage = "time.txt" '//生成的HTML文件名 Template = NOW() Set FSO = Server.CreateObject ("Scripting.FileSystemObject") Set FileOut = FSO.CreateTextFile(Server.MapPath (HtmlPage)) FileOut.WriteLine Template FileOut.Close Set FSO = Nothing end If If datediff("s",times,NOW()) > 3600 Then '//上次更新到现在的时间 大于 3600秒 则 更新 response.write "<br /><!--时间过了开始更新-->" code = "这里是需要生成的html代码" '//如何得到代码的方式有很多 '//用FSO生成HTML页面 HtmlPage = "index.html" '//生成的HTML文件名 Template = code Set FSO = Server.CreateObject ("Scripting.FileSystemObject") Set FileOut = FSO.CreateTextFile(Server.MapPath (HtmlPage)) FileOut.WriteLine Template FileOut.Close Set FSO = Nothing '//用FSO生成time.txt文件 HtmlPage = "time.txt" '//生成的HTML文件名 Template = NOW() Set FSO = Server.CreateObject ("Scripting.FileSystemObject") Set FileOut = FSO.CreateTextFile(Server.MapPath (HtmlPage)) FileOut.WriteLine Template FileOut.Close Set FSO = Nothing Else response.write "<br /><!-- 已经过去"&datediff("s",times,NOW())&"秒!-->" End If
%> 该文章在 2010/11/26 0:40:18 编辑过 |
关键字查询
相关文章
正在查询... |