aspの下でテンプレートのロードを実現するいくつかの方法でオリジナルをまとめます

2601 ワード

1、adodb.streamで実現する 一般的な仮想ホストでは
 
  
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、もう一つはテンプレートをデータベースに入れること(速度が遅い)