如何在ASP页面动态Inclue文件?

时间:2022-09-18 14:31:07

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