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 編輯過 |
關鍵字查詢
相關文章
正在查詢... |