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") 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/2736.html