Gary van der Merwe
Gary van der Merwe

Reputation: 9543

get_included_files in classic ASP?

Is there an equivalent to PHP's get_included_files in classic ASP?

Upvotes: 1

Views: 302

Answers (4)

Jay
Jay

Reputation: 1404

The simple way is to create a main file in a specific directory (for example /include/mainfile.asp) and then include all the other files to this file. Something like:

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

Then, You can include your main file using "virtual" to the rest of your pages that you want to access those other included files.

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

Upvotes: 1

cem
cem

Reputation: 1655

A very ugly function for that:

<!--#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
%>

Upvotes: 1

AnonJr
AnonJr

Reputation: 2757

Not as such, but I vaguely remember seen a tool or two floating around that will give you the equivalent report. It might have been on Code Project or somewhere similar... its been a long time since I last ran across it.

Upvotes: 0

Svante Svenson
Svante Svenson

Reputation: 12478

No, there is not.

Upvotes: 5

Related Questions