Add to Favorites    Make Home Page 1585 Online  
 Language Categories  
 Our Services  

Home » ASP Home » Files Home » Directory Viewer

A D V E R T I S E M E N T

Search Projects & Source Codes:

Title Directory Viewer
Description This is a directory viewer. You can set what files to be viewed
Category ASP » Files
Hits 380221
Code Select and Copy the Code
<%@ Language=VBScript %> <% ' ***** Create a dynamic navigation system to allow users to successfully ' navigate, view, and read files placed in a directory on the web server. ' This directory may contain any number of files of any file type as well ' as any number of subfolders. ' Upload this file into the same folder as the folder to be shared, and ' specify the folder's name in the variable 'sDirectory' below. ' ***** Which Folder to Share? ' ********** ********** ********** sDirectory = "Source" ' ********** ********** ********** ' ***** Other configurable options ' Which file extensions to allow separated by commas ie: "," Set to "" or "all" to allow all extensions ' note: Unless proper permissions are set, files that are not allowed will still be viewable if a user ' inputs the exact web location of the file. The method used here will only remove the link to the file. AllowExt = "gif, asp, jpg, jpeg, htm, ico, txt, ini" 'AllowExt = "all" ' DenyExt overrides AllowExt DenyExt = "doc" ' Top navigation separator Const sChevron = ">" ' "/" ' Always display the navigation path? Const bShowPath = True 'False ' Always display the root directory? Const bShowRoot = False 'True ' Page font tag Const sFont = "<font face=""Verdana, Arial, Helvetica"" size=""2"">" ' Column header font tag Const sColFont = "<font face=""Verdana, Arial, Helvetica"" size=""2"" COLOR=""#FFFFFF"">" ' Column header color Const TblHeader = "#BFBFBF" 'Grey ' Directory grid alternating colors Const FileRow1 = "#b6cbeb" 'Dark Blue Const FileRow2 = "#cadfff" 'Light Blue Const FolderRow1 = "#879966" 'Dark Green Const FolderRow2 = "#c5e095" 'Light Green ' Some nice color pairs '#91619b 'Dark Purple '#be9cc5 'Light Purple '#b6cbeb 'Dark Blue '#cadfff 'Light Blue '#879966 'Dark Green '#c5e095 'Light Green '#a7342a 'Dark Red '#df867f 'Light Red '#f8bc03 'Dark Yellow '#f8e094 'Light Yellow ' ***** Begin Script Dim sError On Error Resume Next sDirectory = Trim(sDirectory) If Right(sDirectory,1) <> "/" Then sDirectory = sDirectory & "/" ' ***** Get subfolder from passed querystring sDir = sDirectory & Request.QueryString("dir") sDir = Trim(sDir) If Right(sDir,1) <> "/" Then sDir = sDir & "/" ' ***** Important! Make sure the subfolder path is in the shared folder. This keeps ' users from browsing directories outside of the shared. ie: dir=../ ' You may want to include some logging code if this happens, here we just ' put the user back into the default directory. sFolder = Server.MapPath( sDir ) sDirFolder = Server.MapPath( sDirectory ) sSubFolder = Right(sDir,Len(sDir)-Len(sDirectory)) If InStr( sFolder , sDirFolder ) = 0 Then sFolder = sDirFolder sSubFolder = "" sError = sError & " Path not authorized;" End If ' ***** Load the file system and navigate to our shared folder. Set objFileObject = Server.CreateObject("Scripting.FileSystemObject") Set objFolder = objFileObject.GetFolder( sFolder ) ' ***** Oops, missing or misspelled folder path. If IsEmpty( objFolder ) Then sFolder = sDirFolder sSubFolder = "" sDir = sDirectory Set objFolder = objFileObject.GetFolder( sFolder ) sError = sError & " Folder not found;" End If %> <HTML><BODY BGCOLOR="#FFFFFF" Text="#000000" LINK="#000000" VLINK="#000000"> <font face="Verdana, Arial, Helvetica" size="2"> <BR><B>Welcome To my file archive:</B><BR><BR></font> <TABLE BORDER=0 bgcolor="#f0f0f0" CELLPADDING=0 CELLSPACING=1> <% ' ***** Feel free to edit the above table tag ' ***** Build path navigation aNames = Split( sSubFolder , "/") If bShowPath Then If UBound( aNames ) > 0 Or bShowRoot Then %> <TR BGCOLOR="#ffffff"> <TD><%= sFont %> </font></TD> <TD COLSPAN="4"><%= sFont %> <B>  <A HREF="<%= Request.ServerVariables("SCRIPT_NAME") %>"><%= Left(sDirectory,len(sDirectory)-1) %></A></B> <% End If For count = 0 To UBound( aNames ) -1 aURL = aURL & aNames(count) & "/" %> <%= sChevron %> <B><A HREF="<%= Request.ServerVariables("SCRIPT_NAME") %>?dir=<%= Server.URLEncode( aURL ) %>"><%= aNames(count) %></A></B><% Next %></font></TD></TR><% End If For count = 0 To UBound( aNames ) -2 aDirUp = aDirUp & aNames(count) & "/" Next %> <TR BGCOLOR="<%= TblHeader %>"> <TD BGCOLOR="#ffffff"><A HREF="<%= Request.ServerVariables("SCRIPT_NAME") %>?dir=<%= Server.URLEncode( aDirUp ) %>"><font face="Wingdings" COLOR="<%= TblHeader %>">�</font></a></TD> <TD><%= sColFont %>  <B>Filename:</B>  </FONT></TD> <TD><%= sColFont %>  <B>Size:</B>  </FONT></TD> <TD><%= sColFont %>  <B>File Type:</B>  </FONT></TD> <TD><%= sColFont %>  <B>Date created:</B>  </FONT></TD> <% ' ***** Iterate through the subfolders in our shared folder. For Each objFile In objFolder.SubFolders ' ***** Alternate between these two row colors. If iAlternate = 0 Then Response.Write "<TR BGCOLOR=""" & FolderRow1 & """>" iAlternate = 1 Else Response.Write "<TR BGCOLOR=""" & FolderRow2 & """>" iAlternate = 0 End If ' ***** Display folder with link to navigate %> <TD align="center" BGCOLOR="<%= TblHeader %>"><font face="Wingdings" COLOR="#ffffff">0</font></TD> <TD><%= sFont %>  <A HREF="<%= Request.ServerVariables("SCRIPT_NAME") %>?dir=<%= Server.URLEncode( sSubFolder & objFile.Name )%>"><%= objFile.Name %></A>  </font></TD> <TD align="right"><%= sFont %>  <%= ByteConversion( objFile.Size ) %>  </font></TD> <TD><%= sFont %>  <%= objFile.Type %>  </font></TD> <TD><%= sFont %>  <%= objFile.DateCreated %>  </font></TD> </TR> <% ' ***** Next Folder Next ' ***** Iterate through the files in our shared folder / subfolder. For Each objFile In objFolder.Files sFileName = objFile.name ' ***** Only continue if it's a valid extension If ( IsValidFile (sFileName) ) Then ' ***** Alternate between these two row colors. ' We'll use the same counter variable to continue alternating between ' the light / dark shade according to the previous folder row color. If iAlternate = 0 Then Response.Write "<TR BGCOLOR=""" & FileRow1 & """>" iAlternate = 1 Else Response.Write "<TR BGCOLOR=""" & FileRow2 & """>" iAlternate = 0 End If ' ***** Display file with link to execute / dowload. %> <TD align="center" BGCOLOR="<%= TblHeader %>"><font face="Wingdings" COLOR="#ffffff"><</font></TD> <TD><%= sFont %>  <A HREF="<%= sDir %><%= sFileName %>"><%= sFileName %></A>  </font></TD> <TD ALIGN=Right><%= sFont %>  <%= ByteConversion( objFile.Size ) %>  </font></TD> <TD><%= sFont %>  <%= objFile.Type %>  </font></TD> <TD><%= sFont %>  <%= objFile.DateCreated %>  </font></TD> </TR><% End If ' ***** Next File Next ' ***** Clean up those nasty memory leaks Set objFileObject = Nothing Set objFolder = Nothing ' ***** Iterate through and approve extensions Function IsValidFile(FileName) If Not AllowExt <> "" Or LCase( AllowExt ) = "all" Then IsValidFile = True Else aAllowExt = Split( AllowExt & "," , ",") IsValidFile = False For iCnt = 0 To UBound( aAllowExt ) -1 If Right( FileName , Len( FileName ) - InStrRev( FileName , "." ) ) = Trim(aAllowExt( iCnt )) Then IsValidFile = True Next End If If DenyExt <> "" Then aDenyExt = Split( DenyExt & "," , ",") For iCnt = 0 To UBound( aDenyExt ) -1 If Right( FileName , Len( FileName ) - InStrRev( FileName , "." ) ) = Trim(aDenyExt( iCnt )) Then IsValidFile = False Next End If End Function ' ***** Display friendly byte size Function ByteConversion(NumberOfBytes) If NumberOfBytes < 1024 Then sDisplayBytes = NumberOfBytes & " Bytes" End If If NumberOfBytes >= 1024 Then sDisplayBytes = FormatNumber( NumberOfBytes / 1024, 2) & " KB" End If If NumberOfBytes > 1048576 Then sDisplayBytes = FormatNumber( NumberOfBytes / 1048576, 2) & " MB" End If Response.Write sDisplayBytes End Function ' ***** Did we encounter an Error? If Err <> 0 Or sError <> "" Then Response.Write "<TR><TD bgcolor=""#ffffff"" colspan=""5""><font face=""Verdana, Arial, Helvetica"" color=""red"" size=""1"">ERROR: " & sError & Space(1) & "ASP: " & Err.description & ";</font></TD></TR>" End If %> </TABLE> </BODY></HTML>

Related Source Codes

Script Name Author
��������������������� VyomWorld
Resistor color code reader A.Chermarajan.
Telephone Directory dhivya
card swapping game (Mini Project) nityanand
simple hangman-pascalsource Seabert
college dirtectory (Mini Project) msridhar
Poll Application John van Meter
ASP Daily Hit Counter. Tejaskumar Gandhi
To avoid null in asp environment using sql Sami
Maklumbalas webmaster
poll John van Meter
EasyASP Template Engine. TjoekBezoer
Basic Calculator using HTML & Javascript. Patrick M. D Souza
What servers support ASP ? VyomWorld
What is ASP? VyomWorld

A D V E R T I S E M E N T




Google Groups Subscribe to SourceCodesWorld - Techies Talk
Email:

Free eBook - Interview Questions: Get over 1,000 Interview Questions in an eBook for free when you join JobsAssist. Just click on the button below to join JobsAssist and you will immediately receive the Free eBook with thousands of Interview Questions in an ebook when you join.

New! Click here to Add your Code!


ASP Home | C Home | C++ Home | COBOL Home | Java Home | Pascal Home
Source Codes Home Page

 Advertisements  

Google Search

Google

Source Codes World.com is a part of Vyom Network.

Vyom Network : Web Hosting | Dedicated Server | Free SMS, GRE, GMAT, MBA | Online Exams | Freshers Jobs | Software Downloads | Interview Questions | Jobs, Discussions | Placement Papers | Free eBooks | Free eBooks | Free Business Info | Interview Questions | Free Tutorials | Arabic, French, German | IAS Preparation | Jokes, Songs, Fun | Free Classifieds | Free Recipes | Free Downloads | Bangalore Info | Tech Solutions | Project Outsourcing, Web Hosting | GATE Preparation | MBA Preparation | SAP Info | Software Testing | Google Logo Maker | Freshers Jobs

Sitemap | Privacy Policy | Terms and Conditions | Important Websites
Copyright ©2003-2024 SourceCodesWorld.com, All Rights Reserved.
Page URL: http://www.sourcecodesworld.com/source/show.asp?ScriptID=333


Download Yahoo Messenger | Placement Papers | Free SMS | C Interview Questions | C++ Interview Questions | Quick2Host Review