日期:2008-11-14  浏览次数:20992 次

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