Hej, jag har eftersökt ett ASP script som listar filer i bokstavsordning nu i X antal månader, efter en felsökning hittade jag dock det.
Nu är det dock så att den inte visar mappar när den listar en mapp, utan bara filerna i mappen.
Dessutom undrar jag om det e möjligt att browsra mapparna som listas direkt på sidan ex. listfiles.asp?browse=txt/a/apa/
om ni nu förstår vad jag menar.
<%@ language = VBScript %>
<%
Option Explicit
On Error Resume Next
Response.buffer = true
DIM objFSO, objFolder, objFilesInFolder
DIM arrFiles(), mFileCount, mPageSize, mPageNo, mPageCount
DIM mDirPath, mFileSpec, mFile, mTemp
DIM mServerName
DIM i, j, k, s0, s1
DIM mformPage, mformCtl, mformCtlVal
Dim mDownloadDir, mHttpPath
' Change as appropriate to your needs
mPageSize = 999
' Change to the actual directory name you have
mDownloadDir = " "
' mDownloadDir should be one subdirectory down from where this page resides, e.g.
' if this page is on C:\InetPub\Wwwroot, your dir is C:\InetPub\Wwwroot\Downloads.
' The page should of course be in a directory that is defined as the home
' or a virtual directory.
mDirPath = server.mapPath(".") & "\" & mDownloadDir
'-----------------------------------------------
' Following the earlier remarks, if C:\Inetpub\wwwroot is home directory,
'and this page is in C:\InetPub\Wwwroot, the URL should be
'-----------------------------------------------
mHttpPath = mDownloadDir & "/webs/ackord2/"
'-----------------------------------------------
' but if this page is not in the home or a virtual directory
'(e.g,. on PWS, the page may be in C:\InetPub\Webpub but C:\Inetpub\wwwroot is
'defined as the home directory), then you need to adjust:
'-----------------------------------------------
' mHttpPath = "/WebPub/" & mDownloadDir & "/"
' Instances of object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(mDirPath)
Set objFilesInFolder = objFolder.Files
mFileCount = objFilesInFolder.Count
IF mFileCount = 0 Then
Response.write "Det finns inga ackord av denna artisten än."
Set objFSO = Nothing
Set objFolder = Nothing
Set objFilesInFolder = Nothing
Response.End
End If
mPageCount = INT(mFileCount \ mPageSize)
IF ( mFileCount Mod mPageSize) > 0 THEN
mPageCount = mPageCount + 1
End If
' Test the existence of a control on form. If exists, its name should
' have been wrapped up in HTTP header, since our form uses POST method.
mformPage = Request.Form("HiddenPage")
If mformPage <> "" Then
IF mPageCount > 1 Then
mPageNo = Cint(mformPage)
' Test the values returned. The unselected ones would have
' the pattern of "xxx" and the selected one "xxx, xxx".
For Each mformCtl In Request.Form
mformCtlVal = Request.Form(mformCtl)
IF mformCtlVal = "First, First" Then
mPageNo = 1
Exit For
ElseIf mformCtlVal = "Previous, Previous" Then
mPageNo = mPageNo - 1
Exit For
ElseIf mformCtlVal = "Next, Next" Then
mPageNo = mPageNo + 1
Exit For
ElseIf mformCtlVal = "Last, Last" Then
mPageNo = mPageCount
Exit For
End if
Next
Else
mPageNo = 1
End If
Else ' First run
mPageNo = 1
End If
' Two dimension array, for File Name and Size columns (entry for Description
' column not provided here)
ReDim arrFiles(mFileCount-1, 1)
' Store file name, size info to array
i = 0
For Each mFile In objFilesInFolder
' First char upper, rest lower case, for display purposes only
mTemp=UCASE(LEFT(mFile.Name,1)) & LCASE((RIGHT(mFile.Name, LEN(mFile.Name) -1)))
arrFiles(i, 0) = mTemp
' Fill file size
arrFiles(i, 1) = mFile.Size
i = i + 1
Next
' Sort array by file name
For i = 0 To UBOUND(arrFiles)-1
k = i
s0 = arrFiles(i, 0)
s1 = arrFiles(i, 1)
For j = i + 1 To UBound(arrFiles)
If StrComp(arrFiles(j, 0), s0, vbTextCompare) < 0 Then
s0 = arrFiles(j, 0)
s1 = arrFiles(j, 1)
k = j
End If
Next
arrFiles(k, 0) = arrFiles(i, 0)
arrFiles(k, 1) = arrFiles(i, 1)
arrFiles(i, 0) = s0
arrFiles(i, 1) = s1
Next
%>
<html>
<head>
<meta http-equiv="Content-Type"; Content="text/html; Charset=iso-8859-1">
</head>
<body>
<%'<IMAGE SRC="LisFiles.gif" VSPACE=2 HSPACE=15 ALIGN=LEFT> %>
<b>
<font face="arial" size="4">Filer:</font>
</b>
<font color="black" face="arial" size="4"></font>
<br>
<br>
<font face="arial" size="1"> <b> Totalt:<%= cStr(mFileCount) %> filer</b></font>
<br>
<table cellpadding=6 cellspacing=0 border=0 style="border-collapse: collapse" bordercolor="#111111">
<%
k = (mPageNo - 1) * mPageSize
j = 0
FOR i = k To mFileCount -1
'-------------------------------------------------------------------
' To form an URL which will be used as an anchor tag for file name
'-------------------------------------------------------------------
mTemp = mHttpPath & arrFiles(i, 0)
%>
<TR><TD><A HREF="<%=mTemp%>"> <%=arrFiles(i,0)%> </A> <BR></TD>
<%
j = j + 1 ' Count to control the max
IF j = mPageSize then ' j is zero-based
Exit For
End If
Next
' Fill up one page with blanks
DO WHILE j < mPageSize
%>
<%
j = j + 1
LOOP
%>
</TABLE>
<FORM NAME="UpdPage" ACTION="LisFiles.asp" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="HiddenPage" VALUE="<%=cstr(mPageNo)%>">
<INPUT TYPE="HIDDEN" NAME="OfFirst" VALUE="First" STYLE="POSITION: RELATIVE;LEFT=10; WIDTH=70; COLOR=MAROON;">
<INPUT TYPE="HIDDEN" NAME="OfPrevious" VALUE="Previous" STYLE="POSITION:RELATIVE;LEFT=10; WIDTH=70; COLOR=MAROON;">
<INPUT TYPE="HIDDEN" NAME="OfNext" VALUE="Next" STYLE="POSITION:RELATIVE; LEFT=10; WIDTH=70; COLOR=MAROON;">
<INPUT TYPE="HIDDEN" NAME="OfLast" VALUE="Last" STYLE="POSITION:RELATIVE; LEFT=10; WIDTH=70; COLOR=MAROON;">
<% IF mPageCount>1 Then %>
<% If mPageNo=1 Then %>
<INPUT TYPE="SUBMIT" NAME="OfNext" VALUE="Next" STYLE="POSITION:RELATIVE; LEFT=10; WIDTH=70; COLOR=MAROON;">
<% If mPageCount>2 Then %>
<INPUT TYPE="SUBMIT" NAME="OfLast" VALUE="Last" STYLE="POSITION:RELATIVE; LEFT=10; WIDTH=70; COLOR=MAROON;">
<% End If %>
<% ElseIf mPageNo=mPageCount Then %>
<% If mPageCount>2 Then %>
<INPUT TYPE="SUBMIT" NAME="OfFirst" VALUE="First" STYLE="POSITION: RELATIVE;LEFT=10; WIDTH=70; COLOR=MAROON;">
<% End If %>
<INPUT TYPE="SUBMIT" NAME="OfPrevious" VALUE="Previous" STYLE="POSITION:RELATIVE;LEFT=10; WIDTH=70; COLOR=MAROON;">
<% ElseIf mPageNo>1 And mPageNo<mPageCount Then %>
<% If mPageCount>2 Then %>
<INPUT TYPE="SUBMIT" NAME="OfFirst" VALUE="First" STYLE="POSITION: RELATIVE;LEFT=10; WIDTH=70; COLOR=MAROON;">
<% End If %>
<INPUT TYPE="SUBMIT" NAME="OfPrevious" VALUE="Previous" STYLE="POSITION:RELATIVE;LEFT=10; WIDTH=70; COLOR=MAROON;">
<INPUT TYPE="SUBMIT" NAME="OfNext" VALUE="Next" STYLE="POSITION:RELATIVE; LEFT=10; WIDTH=70; COLOR=MAROON;">
<% If mPageCount>2 Then %>
<INPUT TYPE="SUBMIT" NAME="OfLast" VALUE="Last" STYLE="POSITION:RELATIVE; LEFT=10; WIDTH=70; COLOR=MAROON;">
<% End If %>
<% End If %>
<% End If %>
</FORM>
</BODY>
</HTML>
<%
Set objFSO = Nothing
Set objFolder = Nothing
Set objFilesInFolder = Nothing
Response.End
%>
Detta är koden jag hittade!!!
Snälla hjälp, ni anar inte hur glad jag skulle bli :)