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

时间:2022-06-01 18:12:20

受<! #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")