Avatar billede hundevennen Nybegynder
27. maj 2009 - 07:31 Der er 4 kommentarer og
1 løsning

hente sidste 2 nye filer fra bibliotek

jeg bruger nedenstående kode til at hente biblioteksnavn og alle filer fra et bibliotek, - er det ikke muligt med lidt ændring kun at hente de 2 sidste nye filer?

<%
    Dim UPLOAD_PATH


        UPLOAD_PATH    = Server.MapPath(".")

    Dim g_oFso, g_oFolder, g_oFile
        Set g_oFso    = Server.CreateObject("Scripting.FileSystemObject")
        Set g_oFolder    = g_oFso.getFolder(UPLOAD_PATH)

    If (Request.ServerVariables("REQUEST_METHOD") = "POST") Then
        Dim g_oUpload
            Set g_oUpload    = get_upload_files()

        Dim fpos, fcontent
            fcontent    = g_oUpload("upload").Item("content")
        Set g_oFile    = g_oFso.CreateTextFile(UPLOAD_PATH & "\" & extract_filename(g_oUpload("upload").Item("filename")))
        For fpos = 1 to LenB(fcontent)
            g_oFile.Write chr(AscB(MidB(fcontent, fpos, 1)))
        Next
        g_oFile.Close: Set g_oFile    = Nothing
       
        Response.Redirect Request.ServerVariables("SCRIPT_NAME")
    End If
   
    Response.Write "<html><body><table class='plan'>"
   
    Response.Write "<tr><td><font size='+2'>" & g_ofolder.name & "</font></font></td></tr><tr><td><hr></td></tr>"
    For Each g_oFile In g_oFolder.Files
    if right(g_oFile.name,3) = "asp" then
    Response.write ""
    else
      Response.Write "<tr><td><strong><a href=""" & g_oFile.name & """ target=_blank>" & left(g_oFile.name,(len(g_oFile.name)-4)) & "</a></td></strong></tr>"
    end if
    Next
    Response.Write "<tr><td><hr></td></tr>"
   
    Response.Write "</table></body></html>"
   

%>
Avatar billede fennec Nybegynder
27. maj 2009 - 07:53 #1
Tag et kik på denne:
http://www.roubaixinteractive.com/PlayGround/FSO/Sort_Folder_Contents.asp

Der løbes alle filer igennem og data smides i et recordset, som derefter kan sorteres på hvad man nu ønsker. Det kan du bruge til at sortere efter dato også nøjes med at udskrive de første 2 resultater.
Avatar billede hundevennen Nybegynder
27. maj 2009 - 08:37 #2
Hej Fennec - den kender jeg godt og jeg tror jeg fik den fra dig engang sidste år og jeg bruger den også til noget andet - men den henter ikke biblioteksnavnet ind, så jeg får biblioteksnavn og derefter de sidste 2 nye filnavne?
Avatar billede hundevennen Nybegynder
27. maj 2009 - 08:38 #3
jeg har løst det ved at bruge min kode som vist øverst og blande den med den du henviser til, men det lidt meget kode og jeg troede man kunne rette den lidt til
Avatar billede fennec Nybegynder
27. maj 2009 - 08:56 #4
Ja det er meget kode, og der kunne godt have været lavet en special løsning, som fylder mindre, men du har mere dynamik med den anden løsning. Du kunne evt smide det i en funktion, som returnere et array af filer ud fra parametre du indsender.

En hardcode løsning ville være noget i denne stil:
dim newestFiles(3)
newestFiles(0) = dateserial(1900, 1, 1)
newestFiles(2) = dateserial(1900, 1, 1)
For Each g_oFile In g_oFolder.Files
    if right(g_oFile.name,3) <> "asp" then
        if g_oFile.DateLastModified > newestFiles(0) then
            newestFiles(2) = newestFiles(0)
            newestFiles(3) = newestFiles(1)
            newestFiles(0) = g_oFile.DateLastModified
            newestFiles(1) = g_oFile.name
        elseif g_oFile.DateLastModified > newestFiles(2) then
            newestFiles(2) = g_oFile.DateLastModified
            newestFiles(3) = g_oFile.name
        end if
    end if
Next
Response.Write "<tr><td><strong><a href=""" & newestFiles(1) & """ target=_blank>" & left(newestFiles(1),(len(newestFiles(1))-4)) & "</a></td></strong></tr>"
Response.Write "<tr><td><strong><a href=""" & newestFiles(3) & """ target=_blank>" & left(newestFiles(3),(len(newestFiles(3))-4)) & "</a></td></strong></tr>"

Her gemmer jeg de 2 nyeste filer i et array.
Avatar billede fennec Nybegynder
27. maj 2009 - 08:57 #5
Og et svar.
.o) <-- One Eyed Jack
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester