Avatar billede scooter Nybegynder
04. maj 2000 - 14:24 Der er 13 kommentarer og
1 løsning

Sidste opdaterede html-fil

Hej :o)

Er her nogen, som lige kan hjælpe mig med et par asp-linier til en side, som skal vælge at vise den sidst opdaterede html-fil i et bibliotek?

Det er til intranet-brug :o)

//scootZ
Avatar billede scooter Nybegynder
04. maj 2000 - 14:43 #1
Hvis man kunne skrive det i retningen af:

Select file from directorynavn where ModDate = LastMod

Any clue anyone?!? Please???

Jeg har kun prøvet ASP via DB'er og kun på via web.

scooter
Avatar billede ricardo Nybegynder
04. maj 2000 - 15:16 #2
Man kan ikke bruge SQL i et bibliotek :)

FileSystemObject kan løse dit problem, men den kan hurtigt blive kompliceret:

(jeg har ikke testet det her, men det burde virke)

folderspec = "c:\myfiles\"

Function ShowLastFile(folderspec)
  Dim fso, f, f1, fc, s, s1, tmpVal
  s1 = ""
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(folderspec)
  Set fc = f.Files
  For Each f1 in fc
  s = ShowFileDate(f1.name)
  If s > s1 Then
  s1 = ShowFileDate(f1.name)
  End If
  tmpVal = s1
  Next
  ShowLastFile = tmpVal
End Function

Function ShowFileDate(filespec)
  Dim fso, f, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  s = f.DateLastModified
  ShowFileDate = s
End Function

Avatar billede scooter Nybegynder
04. maj 2000 - 15:25 #3
ok :o) Den del er jeg T:O:T:A:L:T grøn i... Er der nogen steder, jeg skal indsætte egen data udover at omdøbe c:/myfiles til det aktuelle dir.?

På forhånd tak :o)

scoot
Avatar billede scooter Nybegynder
04. maj 2000 - 15:38 #4
Jeg kan ikke få det til at virke... folderspec er /wwwroot/bla bla på et netværksdrev - er det så stadig c:? Det er jo roden, der hvor asp-filen bliver kørt...

Please help???
Avatar billede ricardo Nybegynder
04. maj 2000 - 15:44 #5
Jeg har også lige prøvet at køre den, og den virker ikke :)

Melder tilbage senere...
Avatar billede ricardo Nybegynder
04. maj 2000 - 16:11 #6
Nu virker den! Og jeg har lært noget nyt.

Function ShowLastFile(folderspec)
  Dim fso, f, f1, fc, s,s1
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(folderspec)
  Set fc = f.Files
  For Each f1 in fc
  If m < f1.DateLastModified Then
  s1 = f1.name & "<br>"
  m = f1.DateLastModified
  End If
  Next
  ShowLastFile = s1
End Function

response.write ShowLastFile(request.servervariables("APPL_PHYSICAL_PATH"))

giver den nyeste fil i roden af din site.
Avatar billede scooter Nybegynder
05. maj 2000 - 08:23 #7
Hehe...ja det virker bedre nu :o)

Ok, den skriver filnavnet, men den eksekverer den ikke :o( Og hvad hvis det er en fil i et underbibliotek, jeg ønsker vist?!?

Scootie
Avatar billede ricardo Nybegynder
05. maj 2000 - 09:16 #8
Du vil åbne den?

Det er nemt:

Myfile = ShowLastFile(request.servervariables("APPL_PHYSICAL_PATH"))

response.redirect(Myfile)

Husk at du skal sætte

response.buffer = true i toppen af siden.

Så ser default.asp sådan ud:

<%
response.buffer = true

Function ShowLastFile(folderspec)
  Dim fso, f, f1, fc, s,s1
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder(folderspec)
  Set fc = f.Files
  For Each f1 in fc
  If m < f1.DateLastModified Then
  s1 = f1.name & "<br>"
  m = f1.DateLastModified
  End If
  Next
  ShowLastFile = s1
End Function

Myfile = ShowLastFile(request.servervariables("APPL_PHYSICAL_PATH"))

response.redirect(Myfile)

%>
Avatar billede ricardo Nybegynder
05. maj 2000 - 09:19 #9
Hvis det er en fil i et underbibliotek skal angive stien her:

Myfile = ShowLastFile(request.servervariables("APPL_PHYSICAL_PATH")&"\MinUnderBibliotek\")

Hvius den skal trævle en hel række undermapper igennem, kan jeg godt lave det men jeg orker ikke mere :)
Avatar billede ricardo Nybegynder
05. maj 2000 - 09:20 #10
Ups! Der var en backslash for meget:

Myfile = ShowLastFile(request.servervariables("APPL_PHYSICAL_PATH")&"MinUnderBibliotek\")
Avatar billede scooter Nybegynder
05. maj 2000 - 09:36 #11
Ok - nu får jeg den til at liste en fil, fra det direktiv, som jeg har angivet... Men det er ikke den sidst modificerede og jeg ville gerne have at den kun viste htm-filer samt at den åbner den i stedet for kun at skrive filnavnet - kan du hjælpe mig?!? Kan nogen??? PLEASE???

<%
mypath="/Direktionen/DirektNews/2000"
BoxURL = "http://cieintranet/Direktionen/DirektNews/2000/"
Set filesystem = CreateObject("Scripting.FileSystemObject")
Set folder = filesystem.GetFolder(server.mappath(mypath))


Function ShowLastFile(folder)
  Dim f, f1, fc, s, s1
 
  Set f = filesystem.GetFolder(folder)
  Set fc = f.Files
 
  For Each f1 in fc
 
  If m < f1.DateCreated Then
  s1 = f1.name & "<br>"
  m = f1.DateLastModified
  End If
  Next
  ShowLastFile = s1
End Function

response.write ShowLastFile(folder)
%>

Venligst scooter
Avatar billede scooter Nybegynder
05. maj 2000 - 10:03 #12
Tak ricardo :o) Jeg havde ikke set dine sidste indlæg, sorry :o)
Jeg tror, jeg nu kan klare det - det eneste lille problem, jeg har, er at den finder fint den fil, jeg ønsker fra den angivede bibliotek, men den prøver at eksekvere filnavnet fra det bib., hvor asp-filen bliver kørt...

Anyway Mange tak for din hurtige hjælp :o)
Avatar billede ricardo Nybegynder
05. maj 2000 - 10:15 #13
Angående det med HTML filer:

du kan sniffe efter efternavnet, men det enkleste er vel at lad være med at putte andre filer i biblioteket :)
Avatar billede ricardo Nybegynder
05. maj 2000 - 16:46 #14
Hvis du skal finde URL'en, har jeg en funktion du kan bruge:

Option Explicit
    Function GetPrefixValue
        Dim strFullPath, strLastChar
        strFullPath = "http://"
        strFullPath = strFullPath & Request.ServerVariables("SERVER_NAME")
        strFullPath = strFullPath & Request.ServerVariables("PATH_INFO")
        strLastChar = ""
        Do Until strLastChar = "/"
            strLastChar = right(strFullPath, 1)
            strFullPath = left(strFullPath, len(strFullPath) -1)
        Loop
        GetPrefixValue = strFullPath
    End Function
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