aspの下でテンプレートのロードを実現するいくつかの方法でオリジナルをまとめます
2601 ワード
1、adodb.streamで実現する 一般的な仮想ホストでは
2、fsoでテンプレートのロード速度が速いが、多くの仮想ホストはfso機能を提供しない
ASPはFSOを使用してテンプレートのコードを読み取る
3、もう一つはテンプレートをデータベースに入れること(速度が遅い)
function loadtempletfile(byval path)
on error resume next
dim objstream
set objstream = server.createobject("adodb.stream")
with objstream
.type = 2
.mode = 3
.open
.loadfromfile server.mappath(path)
if err.number <> 0 then
err.clear
response.write(" [" & path & "] !")
response.end()
end if
.charset = "" & chrset & ""
.position = 2
loadtempletfile = .readtext
.close
end with
set objstream = nothing
end function
2、fsoでテンプレートのロード速度が速いが、多くの仮想ホストはfso機能を提供しない
'*******************************************************************************************************
' :LoadTemplate
' :
' :TemplateFname
' :
'********************************************************************************************************
Function LoadTemplate(TemplateFname)
on error resume next
Dim FSO, FileObj, FileStreamObj
Set FSO = CreateObject("scripting.filesystemobject")
TemplateFname = Server.MapPath(Replace(TemplateFname, "//", "/"))
If FSO.FileExists(TemplateFname) = False Then
LoadTemplate = " , !"
Else
Set FileObj = FSO.GetFile(TemplateFname)
Set FileStreamObj = FileObj.OpenAsTextStream(1)
If Not FileStreamObj.AtEndOfStream Then
LoadTemplate = FileStreamObj.ReadAll
Else
LoadTemplate = " "
End If
End If
Set FSO = Nothing:Set FileObj = Nothing:Set FileStreamObj = Nothing
LoadTemplate=LoadTemplate & Published
End Function
'**************************************************
ASPはFSOを使用してテンプレートのコードを読み取る
3、もう一つはテンプレートをデータベースに入れること(速度が遅い)