经典ASP中的get_included_files?

经典ASP中的get_included_files?

问题描述:

经典ASP中是否有与PHP's get_included_files相当的内容?经典ASP中的get_included_files?

不,没有。

不是这样,但我隐约记得看到一个工具或两个浮动周围,会给你相应的报告。它可能在代码项目或其他类似的地方......自从我上次跑过它以来已经很长时间了。

一个非常丑陋的功能为:

<!--#include file="include/common.asp"-->  

<% 
Function GetIncludedFiles() 
    Dim Url 
    Dim Fso 
    Dim Fs 
    Dim Src 
    Dim Arr 
    Dim Ret 
    Dim i 

    Set Fso = Server.CreateObject("Scripting.FileSystemObject") 

    ReDim Ret(-1) 

    Url = Request.ServerVariables("URL") 
    Set Fs = Fso.OpenTextFile(Server.MapPath(Url)) 

    Src = Fs.Readall() 

    Fs.Close 
    Set Fs = Nothing 
    Set Fso = Nothing 

    Arr = Split(Src, "<" & "!--#include file=") 

    For i = 0 To UBound(Arr) 
     Arr(i) = Left(Arr(i), InStr(Arr(i), "-->")) 
     Arr(i) = Replace(Arr(i), "-", "") 
     Arr(i) = Replace(Arr(i), "'", "") 
     Arr(i) = Trim(Replace(Arr(i), """", "")) 

     If Arr(i) <> "" Then 
      ReDim Preserve Ret(UBound(Ret) + 1) 
      Ret(UBound(Ret)) = Arr(i) 
     End If 
    Next 

    GetIncludedFiles = Ret 
End Function 

Dim File 

For Each File In GetIncludedFiles() 
    Response.Write File & "<br />" 
Next 
%> 

最简单的方法是创建一个特定的目录(例如/include/mainfile.asp)主文件,然后包括所有其他文件这文件。喜欢的东西:

<!#include File="[your directory here/file1.asp]"--> 
<!#include File="[your directory here/file2.asp]"--> 
<!#include File="[your directory here/file3.asp]"--> 

然后,您可以使用“虚拟”到要访问这些其他包含的文件页面的其余部分包括你的主文件。

<!#include Virtual="/include/mainfile.asp"-->