asp动态include文件,方便多模板的实现

  受<! #include file="filename.asp" --> 宏限制,必须存在该文件并且会预先编译(不管前面是否加以条件)

  经常有这样的要求,根据不同的需求要求include不同的文件,如各个人的不同设置,所以要求能动态include文件。

  代码如下:

  

复制代码 代码如下:

  Function include(filename)

  Dim re,content,fso,f,aspStart,aspEnd

  set fso=CreateObject("Scripting.FileSystemObject")

  set f=fso.OpenTextFile(server.mappath(filename))

  content=f.ReadAll

  f.close

  set f=nothing

  set fso=nothing

  set re=new RegExp

  re.pattern="^\s*="

  aspEnd=1

  aspStart=inStr(aspEnd,content,"<%")+2

  do while aspStart>aspEnd+1

  Response.write Mid(content,aspEnd,aspStart-aspEnd-2)

  aspEnd=inStr(aspStart,content,"%\>")+2

  Execute(re.replace(Mid(content,aspStart,aspEnd-aspStart-2),"Response.Write "))

  aspStart=inStr(aspEnd,content,"<%")+2

  loop

  Response.write Mid(content,aspEnd)

  set re=nothing

  End Function

  使用范例:

  

复制代码 代码如下:

  include("youinc.asp")