麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > ASP > 正文

asp偽靜態情況下實現的utf-8文件緩存實現代碼

2024-05-04 11:08:21
字體:
來源:轉載
供稿:網友
該程序通過使用ASP的FSO功能,減少數據庫的讀取。經測試,可以減少90%的服務器負荷。頁面訪問速度基本與靜態頁面相當。
 
 
 
復制代碼代碼如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 
<% Response.CodePage=65001%> 
<% Response.Charset="UTF-8" %> 
<% 
'該程序通過使用ASP的FSO功能,減少數據庫的讀取。經測試,可以減少90%的服務器負荷。頁面訪問速度基本與靜態頁面相當。 
'使用方法:將該文件放在網站里,然后在需要引用的文件的“第一行”用include引用即可。 
'=======================參數區============================= 
DirName="cachenew/" '靜態文件保存的目錄,結尾應帶"/"。無須手動建立,程序會自動建立。 
TimeDelay=30 '更新的時間間隔,單位為分鐘,如1440分鐘為1天。生成的靜態文件在該間隔之后會被刪除。 
'======================主程序區============================ 
foxrax=Request("foxrax") 
if foxrax="" then 
FileName=GetStr()&".txt" 
FileName=DirName&FileName 
if tesfold(DirName)=false then'如果不存在文件夾則創建 
createfold(Server.MapPath(".")&"/"&DirName) 
end if 
if ReportFileStatus(Server.MapPath(".")&"/"&FileName)=true then'如果存在生成的靜態文件,則直接讀取文件 
Set FSO=CreateObject("Scripting.FileSystemObject") 
Dim Files,LatCatch 
Set Files=FSO.GetFile(Server.MapPath(FileName)) '定義CatchFile文件對象 
LastCatch=CDate(Files.DateLastModified) 
If DateDiff("n",LastCatch,Now())>TimeDelay Then'超過 
List=getHTTPPage(GetUrl()) 
WriteFile(FileName) 
Else 
List=ReadFile(FileName) 
End If 
Set FSO = nothing 
Response.Write(List) 
Response.End() 
else 
List=getHTTPPage(GetUrl()) 
WriteFile(FileName) 
end if 

end if 

'========================函數區============================ 
'獲取當前頁面url 
Function GetStr() 
'On Error Resume Next 
Dim strTemps 
strTemps = strTemps & Request.ServerVariables("HTTP_X_REWRITE_URL") 
GetStr = Server.URLEncode(strTemps) 
End Function 
'獲取緩存頁面url 
Function GetUrl() 
On Error Resume Next 
Dim strTemp 
If LCase(Request.ServerVariables("HTTPS")) = "off" Then 
strTemp = "http://" 
Else 
strTemp = "https://" 
End If 
strTemp = strTemp & Request.ServerVariables("SERVER_NAME") 
If Request.ServerVariables("SERVER_PORT") <> 80 Then 
strTemp = strTemp & ":" & Request.ServerVariables("SERVER_PORT") 
end if 
strTemp = strTemp & Request.ServerVariables("URL") 
If Trim(Request.QueryString) <> "" Then 
strTemp = strTemp & "?" & Trim(Request.QueryString) & "&foxrax=foxrax" 
else 
strTemp = strTemp & "?" & "foxrax=foxrax" 
end if 
GetUrl = strTemp 
End Function 

'抓取頁面 
Function getHTTPPage(url) 
Set Mail1 = Server.CreateObject("CDO.Message") 
Mail1.CreateMHTMLBody URL,31 
AA=Mail1.HTMLBody 
Set Mail1 = Nothing 
getHTTPPage=AA 
'Set Retrieval = Server.CreateObject("Microsoft.Xmlhttp") 
'Retrieval.Open "GET",url,false,"","" 
'Retrieval.Send 
'getHTTPPage = Retrieval.ResponseBody 
'Set Retrieval = Nothing 
End Function 
Sub WriteFile(filePath) 
dim stm 
set stm=Server.CreateObject("adodb.stream") 
stm.Type=2 'adTypeText,文本數據 
stm.Mode=3 'adModeReadWrite,讀取寫入,此參數用2則報錯 
stm.Charset="utf-8" 
stm.Open 
stm.WriteText list 
stm.SaveToFile Server.MapPath(filePath),2 'adSaveCreateOverWrite,文件存在則覆蓋 
stm.Flush 
stm.Close 
set stm=nothing 
End Sub 

Function ReadFile(filePath) 
dim stm 
set stm=Server.CreateObject("adodb.stream") 
stm.Type=1 'adTypeBinary,按二進制數據讀入 
stm.Mode=3 'adModeReadWrite ,這里只能用3用其他會出錯 
stm.Open 
stm.LoadFromFile Server.MapPath(filePath) 
stm.Position=0 '把指針移回起點 
stm.Type=2 '文本數據 
stm.Charset="utf-8" 
ReadFile = stm.ReadText 
stm.Close 
set stm=nothing 
End Function 
'檢測文件是否存在 
Function ReportFileStatus(FileName) 
set fso = server.createobject("scripting.filesystemobject") 
if fso.fileexists(FileName) = true then 
ReportFileStatus=true 
else 
ReportFileStatus=false 
end if 
set fso=nothing 
end function 
'檢測目錄是否存在 
function tesfold(foname) 
set fs=createobject("scripting.filesystemobject") 
filepathjm=server.mappath(foname) 
if fs.folderexists(filepathjm) then 
tesfold=True 
else 
tesfold= False 
end if 
set fs=nothing 
end function 
'建立目錄 
sub createfold(foname) 
set fs=createobject("scripting.filesystemobject") 
fs.createfolder(foname) 
set fs=nothing 
end sub 
'刪除文件 
function del_file(path) 'path,文件路徑包含文件名 
set objfso = server.createobject("scripting.FileSystemObject") 
'path=Server.MapPath(path) 
if objfso.FileExists(path) then '若存在則刪除 
objfso.DeleteFile(path) '刪除文件 
else 
'response.write "<script language='Javascript'>alert('文件不存在')</script>" 
end if 
set objfso = nothing 
end function 
%> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人三级电影在线 | 九九热国产在线 | 国产成人羞羞视频在线 | 国外成人在线视频 | 国产精品久久久久久久久久妇女 | 成人在线免费小视频 | 国产一区二区三区视频在线观看 | 国产一级淫 | 欧美精品一区二区三区在线 | 久久亚洲春色中文字幕久久 | 欧美视频99 | 国产精品成人亚洲一区二区 | 国产成人精品区一区二区不卡 | 免费久久久久 | 日本韩国欧美一级片 | 女人解衣喂奶电影 | 在线播放免费人成毛片乱码 | 黄色免费高清网站 | 国产午夜精品理论片a级探花 | 国产精品视频在 | 久久精品亚洲一区二区 | 天天透天天狠天天爱综合97 | 成人黄色短视频在线观看 | 国产一级毛片高清视频完整版 | 久久精品欧美一区二区三区不卡 | h久久 | 国产精品一区二区三区99 | 欧美日韩国产成人在线 | 欧美一级精品片在线看 | 成人免费激情视频 | av播播| 欧美精品免费一区二区三区 | 操毛片| 黄网站免费在线看 | 欧美大片一级毛片 | 欧美日韩在线视频一区 | 久久久久久久91 | 国产一区二区三区在线视频 | 深夜福利视频免费观看 | 午夜精品福利在线观看 | 久久精品视频16 |