Как перечислить 10 новейших файлов каталога с использованием ASP - PullRequest
1 голос
/ 08 октября 2011

У меня есть некоторый asp-код для отображения содержимого папки (только для текстовых файлов).Я хотел бы знать, есть ли способ перечислить только последние 10 созданных файлов.

Мое приложение будет создавать один файл в день, используя AAMMDD.txt в качестве имени.

Я хотел быхотелось бы иметь возможность перечислить только 10 последних файлов.

Есть ли у кого-нибудь здесь какой-нибудь пример, которым можно поделиться ???

Заранее спасибо.

вотКод, который я нашел, что список всего (я уже сделал некоторые изменения в сценарии):

<%
Const ImageFilePath = "logs"

Dim objFSO
Dim objFolder
Dim objFile

Dim strFileName
Dim strFileExtension

Dim blnShowFiles

If Request.QueryString("ShowFiles") = "" Then
    blnShowFiles = True
Else
    blnShowFiles = CBool(Request.QueryString("ShowFiles"))
End If


    Set objFSO = Nothing
%>

<style>

ul.dropdownPC, ul.dropdownPC li, ul.dropdownPC ul 
            {
    list-style: none;
    margin: 8px;
    float: left;
    vertical-align: middle;
    padding:0px;
    border:solid;
    border-width:0px;
    border-color:#ccc;
    background-color: #fff;
}
ul.dropdownPC li 
            {
    padding:5px;
    border-width:0px;
}
</style>

<ul class="dropdownPC dropdown-horizontal">
<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath(ImageFilePath))

For Each objFile In objFolder.Files
    strFileExtension = LCase(Mid(objFile.Name, InStrRev(objFile.Name, ".", -1, 1) + 1))

    If strFileExtension = "txt" Then
        %>
        <li><a href="<%= ImageFilePath & "/" & objFile.Name %>" target=_blank><img width="80" height="80" border="0" src="images/texticon01.png"><br><center><%= objFile.Name %></center></a>
        <%
        If blnShowFiles Then
            %>
            <!-- <%= objFile.Name %> --></li>
            <%
        Else
            %>
            <!-- <a href="<%=ImageFilePath & "/" & objFile.Name %>">View `Logs</a> --></li>`
            <%
        End If
        %>

        <%
    End If
Next ' objFile

Set objFolder = Nothing
Set objFSO = Nothing
%>

1 Ответ

4 голосов
/ 08 октября 2011

Поместите имена файлов и даты создания в набор записей, отсортируйте их и получите первые десять записей.

<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath(ImageFilePath))

'Required ADO Constants
Const adVarChar = 200
Const adDate = 7
Dim objRs
Set objRS = Server.CreateObject("Adodb.Recordset") 'Recordset for the sort
objRs.Fields.Append "FileName", adVarChar, 255
objRs.Fields.Append "CreateDate", adDate
objRs.Open

For Each objFile In objFolder.Files
    strFileExtension = LCase(Mid(objFile.Name, InStrRev(objFile.Name, ".", -1, 1) + 1))
    If strFileExtension = "txt" Then 'All Text Files Into Recordset
        objRS.AddNew Array("FileName", "CreateDate"), Array(objFile.Name, objFile.DateCreated)
        objRs.Update
    End If
Next ' objFile

objRs.Sort = "CreateDate Desc"
For i = 1 To 10
If objRS.Eof Then Exit For 
%>
        <li><a href="<%= ImageFilePath & "/" & objRS("FileName") %>" target=_blank><img width="80" height="80" border="0" src="images/texticon01.png"><br><center><%= objRS("FileName") %></center></a>
        <% If blnShowFiles Then %>
        <!-- <%= objRS("FileName") %> --></li>
        <% Else %>
        <!-- <a href="<%=ImageFilePath & "/" & objRS("FileName") %>">View `Logs</a> --></li>`
        <% End If %>
<%
objRS.MoveNext
Next
Set objFolder = Nothing
Set objFSO = Nothing
objRS.Close
Set objRS = Nothing
%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...