Någon som har ett färdigt script som listar samtliga filer/datum i en mapp på webbservern sorterat efter datum + skapar länkar till filerna?
Eller tips på länkar till ett script.
:)
4 svar · 274 visningar · startad av DKZ
Någon som har ett färdigt script som listar samtliga filer/datum i en mapp på webbservern sorterat efter datum + skapar länkar till filerna?
Eller tips på länkar till ett script.
:)
Hittade detta script på aspin, men det sorteras efter filnamn hur ska jag skriva så att listan sorteras efter datum? senaste överst på sidan???
<% @LCID = 1053 %>
<html>
<head>
<title>Untitled</title>
</head>
<body>
<%
' Just wrap your existing page around this code.
' put in the folder name below relative to the directory that this script is in
' DO NOT put leading or trailing slashes though.
' DO NOT use backslashes at all regardless of the server your on.
folder = ""
' The table shows the filename as a link, the date last modified and the file size
' Adjust the table and columns as needed. Delete columns if you don't need them
' Find out what type of server we are on and the server data
If Left(server.mappath("."),1) = "/" Then
strslash = "/"
Else
strslash = "\"
End If
servername = Request.Servervariables("server_name")
scriptpath = Request.Servervariables("script_name")
scriptpath = Mid(scriptpath,(Instrrev(scriptpath, "/")),1)
Dim filesobj, fileslist, fname, posnumright
dim f, dflm
Set filesobj = Server.CreateObject("scripting.filesystemobject")
Set fileslist = filesobj.GetFolder(server.mappath(".") & "/" & folder)
%>
<!-- ************* Table start and header row ****************-->
<table width="95%">
<tr>
<td width="50%">File</td><td>Date</td><td>Size</td></tr>
<%
For each thing In fileslist.files
posnumright = instrrev(thing, strslash)
fname = right(thing,(len(thing)-posnumright))
Set f = filesobj.GetFile(thing)
fdlm = f.datelastmodified
If f.size > 1023 Then
fsize = CStr(CInt(f.size / 1024)) & "K"
Else
fsize = CStr(f.size) & " bytes"
End If
physicalpath = server.mappath(".")
%>
<tr>
<td>
<!-- ******* First column with link to file name ******* -->
<a href="http://<%=servername & scriptpath & folder & "/" & Server.HTMLEncode(fname) %>" target="_blank"><%=Server.HTMLEncode(fname)%></a>
</td>
<td>
<!-- ******* Second column with last modified date of file ***** -->
<%=Server.HTMLEncode(fdlm)%>
</td>
<td>
<!-- ******* Third column with file size ******** -->
<%= Server.HTMLEncode(fsize) %>
</td>
</tr>
<%
Set f = Nothing
Next
Set fileslist = Nothing
Set filesobj = Nothing
%>
<!-- *************** End of Table ****************** -->
</table>
</body>
</html>
Eller en sådan här:
<%
Option Explicit
Response.Buffer = TRUE
Dim strFolder, intTotalSubfolders
%>
<HTML>
<HEAD>
<TITLE>Filhanterare</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY bgcolor="#FFFFFF" text="#000000">
<%
strFolder = Request.QueryString("folder")
Call ListFiles(strFolder)
'=======================================================================
Sub ListFiles(ByVal oFolderPath)
If IsEmpty(oFolderPath) Then oFolderPath = Server.MapPath("\")
Dim m_objFSO, m_objFolder, m_objSubFolder, m_objRSlist
Dim File, SubFolder
Dim m_strSubFolder, m_strScriptName
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adVarChar = 200
Const adInteger = 3
Const adDate = 7
m_strScriptName = Request.ServerVariables("SCRIPT_NAME")
Set m_objRSlist = Server.CreateObject("ADODB.Recordset")
'## -- definiera fälten som ska ingå i recordsetet --
m_objRSlist.Fields.Append "Name", adVarChar, 255
m_objRSlist.Fields.Append "Size", adInteger, 50
m_objRSlist.Fields.Append "Type", adVarChar, 255
m_objRSlist.Fields.Append "Last Modified", adDate
'## -- skapa fälten och öppna recordsetet --
m_objRSlist.Open ,,adOpenStatic,adLockOptimistic
Set m_objFSO = Server.CreateObject("Scripting.FileSystemObject")
'## -- hämta katalog information --
Set m_objFolder = m_objFSO.GetFolder(oFolderPath)
%>
<TABLE width="760" border="0" cellspacing="0" cellpadding="2">
<TR>
<TD><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size="3">Namn</FONT></B></TD>
<TD><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size="3">Typ</FONT></B></TD>
<TD><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size="3">Storlek</FONT></B></TD>
<TD><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size="3">Senast Ändrad</FONT></B></TD>
</TR>
<%
'## -- lista alla underkataloger i katalogen --
For Each SubFolder IN m_objFolder.SubFolders
'## -- lägg till katalog information i recordsetet --
m_objRSlist.AddNew
m_objRSlist("Name") = SubFolder.Name
m_objRSlist("Size") = SubFolder.Size
m_objRSlist("Type") = SubFolder.Type
m_objRSlist("Last Modified") = SubFolder.DateLastModified
m_objRSlist.Update
Next '## -- nästa katalog --
'## -- lista alla filer i katalogen --
For Each File IN m_objFolder.Files
'## -- lägg till katalog information i recordsetet --
m_objRSlist.AddNew
m_objRSlist("Name") = File.Name
m_objRSlist("Size") = File.Size
m_objRSlist("Type") = File.Type
m_objRSlist("Last Modified") = File.DateLastModified
m_objRSlist.Update
Next '## -- nästa fil --
'## -- sortera efter datum fallande --
m_objRSlist.Sort = "Type, [Last Modified] ASC"
'## -- gå till första posten --
m_objRSlist.MoveFirst
'## -- loopa igenom recordsetet --
Do Until m_objRSlist.EOF
%>
<TR>
<TD>
<FONT face="Verdana, Arial, Helvetica, sans-serif" size="2">
<% =m_objRSlist("Name")%>
</FONT></TD>
<TD>
<FONT face="Verdana, Arial, Helvetica, sans-serif" size="2">
<% =m_objRSlist("Type")%>
</FONT></TD>
<TD>
<FONT face="Verdana, Arial, Helvetica, sans-serif" size="2">
<% =m_objRSlist("Size")%>
</FONT></TD>
<TD>
<FONT face="Verdana, Arial, Helvetica, sans-serif" size="2">
<% =m_objRSlist("Last Modified")%>
</FONT></TD>
</TR>
<%
m_objRSlist.MoveNext
Loop
m_objRSlist.Close
Set m_objRSlist = Nothing
Set m_objFolder = Nothing
Set m_objFSO = Nothing
%>
</TABLE>
<%
End Sub
%>
</BODY>
</HTML>
Lek lite med denna kod och du kommer säkert på hur du kan sortera efter vad du vill, stigande eller fallande
cya,
PatrikB
------------------
*ordning och reda!, pengar på fredag.*
[Redigerat av PatrikB den 24 aug 2001]
Eller scriptet som finns här: http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=118
Hej!
Testade Patrik B:s kod. Funkar fint lokalt men uppladdad på servern får jag felmeddelandet nedan.
Är det nån inställning på webbhotellet som ska göras?
Server object error 'ASP 0177 : 800a004c'
Server.CreateObject Failed
/filhanterare.asp, line 48
The operation completed successfully.
------------------
Sofia