asp定時(shí)生成靜態(tài)HTML的代碼
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
asp定時(shí)生成靜態(tài)HTML的代碼,對(duì)于緩解服務(wù)器壓力有很大幫主,需要的朋友可以參考下。 復(fù)制代碼 代碼如下: <% '判斷是否要生成新的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 '比較上次更新時(shí)間與當(dāng)前時(shí)間相差多少秒 Application.Lock Application("cache_asptohtml_date")=now() Application.UnLock Call aspTohtml Response.Redirect("index.html") Else Response.Redirect("index.html") End if '獲取當(dāng)前目錄! 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生成靜態(tài)首頁(yè)的代碼 'Curl 為你的首頁(yè)地址,確保你的空間支持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定時(shí)生成靜態(tài)頁(yè)(HTML)2 復(fù)制代碼 代碼如下: <% 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 /><!--有沒(méi)有發(fā)現(xiàn)time.txt 開(kāi)始生成!-->" 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 '//上次更新到現(xiàn)在的時(shí)間 大于 3600秒 則 更新 response.write "<br /><!--時(shí)間過(guò)了開(kāi)始更新-->" code = "這里是需要生成的html代碼" '//如何得到代碼的方式有很多 '//用FSO生成HTML頁(yè)面 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 /><!-- 已經(jīng)過(guò)去"&datediff("s",times,NOW())&"秒!-->" End If
%> 該文章在 2010/11/26 0:40:18 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |