1、使用adodb.stream实现的一般虚拟主机都提供
复制代码 代码如下:
functionloadtempletfile(byvalpath)
onerrorresumenext
dimobjstream
setobjstream=server.createobject("adodb.stream")
withobjstream
.type=2
.mode=3
.open
.loadfromfileserver.mappath(path)
iferr.number<>0then
err.clear
response.write("预加载的模板["&path&"]不存在!")
response.end()
endif
.charset=""&chrset&""
.position=2
loadtempletfile=.readtext
.close
endwith
setobjstream=nothing
endfunction
2、用fso实现模板的加载速度快,但好多虚拟主机不提供fso功能
复制代码 代码如下:
'*******************************************************************************************************
'函数名:LoadTemplate
'作用:取出模板内容
'参数:TemplateFname模板地址
'返回值:模板内容
'********************************************************************************************************
FunctionLoadTemplate(TemplateFname)
onerrorresumenext
DimFSO,FileObj,FileStreamObj
SetFSO=CreateObject("scripting.filesystemobject")
TemplateFname=Server.MapPath(Replace(TemplateFname,"//","/"))
IfFSO.FileExists(TemplateFname)=FalseThen
LoadTemplate="模板不存在,请先绑定!"
Else
SetFileObj=FSO.GetFile(TemplateFname)
SetFileStreamObj=FileObj.OpenAsTextStream(1)
IfNotFileStreamObj.AtEndOfStreamThen
LoadTemplate=FileStreamObj.ReadAll
Else
LoadTemplate="模板内容为空"
EndIf
EndIf
SetFSO=Nothing:SetFileObj=Nothing:SetFileStreamObj=Nothing
LoadTemplate=LoadTemplate&Published
EndFunction
'**************************************************
ASP使用FSO读取模板的代码
3、还有一种就是把模板放到数据库中(速度慢)