Search  
   
Browse by Category
 
Netfirms 24/7 Support .: WINDOWS HOSTING .: ASP .: How do I display a directory listing of my web site using an ASP script?

How do I display a directory listing of my web site using an ASP script?

Below is a sample ASP script that displays a directory listing of your web site using:

dirlist.asp
<%
Dim strPath   ' Path of directory to search
Dim objFSO    ' FileSystemObject variable
Dim objFolder ' Folder variable
Dim objItem   ' Variable used to loop through the
              'contents of the folder
Dim strQuery  ' Search string
' You could just as easily read this from some sort of input,
' but I don't need you guys roaming around our server so
' I've hard coded it to a directory I set up to illustrate
' the sample.
' NOTE: As currently implemented, this needs to end with the /
strPath = ""
' Retrieve the search string.  If empty it will return all files.
strQuery = Request.QueryString("query")
' Show our search form and a few links to some sample searches
%>
<form action="<%= Request.ServerVariables("URL") %>" method="get">
Find files whose names contain:
<input type="text" name="query" value="<%= strQuery %>" /><br />
<input type="submit" value="Find Files" />
</form>
<p>
Some sample queries:
<a href="<%= Request.ServerVariables("URL") %>?query=ary">ary</a>,
<a href="<%= Request.ServerVariables("URL") %>?query=ber">ber</a>,
<a href="<%= Request.ServerVariables("URL") %>?query=0">0</a>,
<a href="<%= Request.ServerVariables("URL") %>?query=1">1</a>,
<a href="<%= Request.ServerVariables("URL") %>">show all files</a>.
</p>
<%
' Create our FSO and get a handle on our folder
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath(strPath))
' Show a little description line and the title row of our table
%>
<p>
Contents of <strong><%= strPath %></strong> that match your query:
</p>
<table border="5" bordercolor="green" cellspacing="0" cellpadding="2">
    <tr bgcolor="#006600">
        <td><font color="#FFFFFF"><strong>File&nbsp;Name:</strong></font></td>
        <td><font color="#FFFFFF"><strong>File&nbsp;Size:</strong></font></td>
        <td><font color="#FFFFFF"><strong>Date&nbsp;Created:</strong></font></td>
    </tr>
<%
' Now come the part where we find the files whose names match the string
' passed in part.  It's relatively straightforward.  We simply loop through
' the objFolder.Files collection and check each file's name to see if it
' matches.  Note that I'm not going to look for SubFolders that match our
' search string.  You can easily include them if you like.  Just use
' objFolder.SubFolders.  The syntax is the same as it is for files.
For Each objItem In objFolder.Files
    ' I'm using a case insensitive search.  If you want case sensitivity
    ' then change vbTextCompare to vbBinaryCompare
    If InStr(1, objItem.Name, strQuery, vbTextCompare) <> 0 Then
        %>
        <tr bgcolor="#CCFFCC">
            <td align="left" ><a href="<%= strPath & objItem.Name %>"><%= objItem.Name %></a></td>
            <td align="right"><%= objItem.Size %></td>
            <td align="left" ><%= objItem.DateCreated %></td>
        </tr>
        <%
    End If
Next 'objItem
' All done!  Kill off our object variables.
Set objItem = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
%>
</table>

How helpful was this article to you?


.: Powered by Lore 1.5.6
Visit Netfirms.com Web Hosting | Copyright © 1998 - 2009 Netfirms, Inc. All Rights Reserved.