Avatar billede seagaard Nybegynder
15. januar 2001 - 16:57 Der er 6 kommentarer og
1 løsning

Lave links fra en given mappe vha. ASP

Hej!

Jeg har en mappe på Intranettet som folk har mulighed for at uploade html-filer til.

Er der nogen der har nogle gode ideer til hvorledes man kan få listet disse filer så man efterfølgende kan klikke på et link og læse referatet/dagsordenen....

mvh/Seagaard
Avatar billede tommyf Nybegynder
15. januar 2001 - 17:09 #1
Den samler alle filer sætter dem op på række og laver et link til dem... godt nok?

<%
\'********************************************************
\'*                                                      *
\'*    LOCALHOST UNDERMAPPESCRIPT                        *
\'*    --------------------------                        *
\'*                                                      *
\'*    Jakob Lund Kr@rup.dk - 4. juni 2000              *
\'*                                                      *
\'********************************************************
\'*                                                      *
\'*    ANVENDELSE:                                      *
\'*    Letter processen med at komme fra localhost      *
\'*    mappen til sine projektmapper.                    *       
\'*                                                      *
\'********************************************************
\'*                                                      *
\'*    FUNKTION:                                        *
\'*    Finder alle undermapper i localhost mappen        *
\'*    og præsenterer dem som links i en HTML side.      *
\'*                                                      *
\'********************************************************

  \'Vi opretter et FileSystemObject med navnet \"fso\"
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
 
  \'Vi finder stien til det nuværende bibliotek
  \'og gemmer det i variablen \"sti\"
  sti=Server.mappath(\".\")
 
  \'Vi anvender FileSystemObjectet \"fso\"
  \'til at lægge biblioteket i objektet \"folder\"
  Set folder = fso.GetFolder(sti)
 
  \'Vi gemmer alle underbibliotekerne i objektet \"foldercollection\"
  Set foldercollection = folder.SubFolders%>
 
<HTML>
<HEAD>
<TITLE><%=sti%></TITLE>

<STYLE TYPE=\"TEXT/CSS\">
  BODY{ font-family:verdana,arial,sans-serif;
      font-size:12px;
      color:black}
     
  A {    color:green;
      font-size:12px;
      font-weight:bold;
      text-decoration:none}
 
  A:hover {    color:darkorange;
          text-decoration:underline}
 
  TABLE {    font-size:12px}
     
  H1 {    font-size:20px;
      font-weight:bold}
 
</STYLE>
<SCRIPT LANGUAGE=\"JAVASCRIPT\">
  function highlight (){
  /* denne funktion finder ud af hvem der kaldte den
  derefter laver den baggrundsfarven på rækken om */
 
      // Vi lægger det element der har kaldt funktionen i variablen \"kalder\"
      kalder = window.event.srcElement;
      //og sætter elementets styles baggrund til grå
      kalder.style.background = \"#F0F0F0\";
  }
 
  function normalize(){
  /* denne funktion finder ud af hvem der kaldte den
  derefter laver den baggrundsfarven på rækken tilbage til normal */
      // Vi lægger det element der har kaldt funktionen i variablen \"kalder\"
    kalder = window.event.srcElement;
    //og sætter elementets styles baggrund til hvid
    kalder.style.background =\"#FFFFFF\";
  }

</SCRIPT>
</HEAD>
<BODY>
  <CENTER><H1><%=Sti%></H1></CENTER>
  <TABLE BORDER=\"0\" ALIGN=\"CENTER\" CELPADDING=\"2\" CELLSPACING=\"1\" width=\"500\"><%
  \'For alle mapper i denne mappe
  For Each foldername in foldercollection
      \'Så viser vi alle de mappenavne der ikke begynder med underscore \"_\"
      \'(for at fjerne alle systemmapperne fra oversigten)
      if left(foldername.name, 1) <> \"_\" then
          Response.Write(\"<TR><TD OnMouseOver=\'java script:highlight()\' OnMouseOut=\'java script:normalize()\' ALIGN=\'CENTER\'><A HREF=\'\" + foldername.name  + \"\'>\" + foldername.name  + \"/</A></TD></TR>\"+chr(13))
      end if   
  Next

  \'Vi sletter de tre objekter igen 
  set fso = nothing
  set folder = nothing
  Set foldercollection = nothing
%>
</TABLE>
</BODY>
</HTML>
Avatar billede sbarnney Nybegynder
16. januar 2001 - 20:51 #2
Hej seagaard

<html>
<head>
    <title></title>
</head>
<body>
<%
AbsolutePath = \"C:\\Inetpub\\wwwroot\\xxx\\\"
RelativePath = \"xxx/\"
Set fso = CreateObject(\"Scripting.FileSystemObject\")
Set f = fso.GetFolder (AbsolutePath)

For Each f1 in f.Files
    If UCase(Right(f1.name,3)) = \"HTM\" Then
    Set fsoSystem = Server.CreateObject(\"Scripting.FileSystemObject\")
    Set fsoStream = fsoSystem.OpenTextFile(Server.MapPath(RelativePath & f1.name), 1, False)
        If Not fsoStream.AtEndOfstream Then strContent = fsoStream.ReadAll
    fsoStream.Close: Set fsoStream = Nothing
    Set fsoSystem = Nothing

    intTitle = InStr(LCase(strContent), \"<title>\")
    If intTitle > 0 Then
        intTitle = intTitle + 7
        intEndTitle = InStr(LCase(strContent), \"</title>\")

        strTitle = Mid(strContent, intTitle, (intEndTitle - intTitle))
    Else
        strTitle = f1 \' Ingen titel. Brug filnavnet.
    End If

        Response.Write \"<div align=left><a href=\'\" & RelativePath & f1.name & \"\'>\" & strTitle & \"</a><br></div>\"
    End If
Next
%>
</body>
</html>

Hvis du har spørgsmål til dette skal du bare sige til.

Stig
Avatar billede sbarnney Nybegynder
16. januar 2001 - 20:53 #3
eller endnu mindre

<html>
<head>
    <title></title>
</head>
<body>
<%
AbsolutePath = \"C:\\InetPub\\wwwintra\\xxx\\\"
RelativePath = \"xxx/\"
Set fso = CreateObject(\"Scripting.FileSystemObject\")
Set f = fso.GetFolder(AbsolutePath)
For Each f1 in f.Files
    If UCase(Right(f1.name,3)) = \"HTM\" Then
          Response.Write \"<div align=left><a href=\'\" & RelativePath & f1.name & \"\'>\" & f1.name & \"</a><br></div>\"
    End If
Next
%>
</body>
</html>
Avatar billede seagaard Nybegynder
30. januar 2001 - 13:32 #4
Hej sbarney!

Det er det helt rigtige! MEN jeg kan ikke helt forstå hvordan den sorterer. Det ser ud til at den tager sorterer efter tidspunktet hvor filen er \"created\", men det synes jeg heller ikke helt kan passe! Det må være muligt at sortere i stigende orden efter navnet?

Som det er nu giver det lidt problemer når der er ved at komme mange filer i en mappe. Den viser f.eks. ikke referater i den rigtige rækkefølge. Måske kan man styre det på en anden måde? Det vil jeg lige tænke over!! Ellers er det lige det jeg mangler.

mvh/Seagaard
Avatar billede sbarnney Nybegynder
15. februar 2001 - 10:08 #5
Hej Seagaard - Der soteres efter fil navn, så du kan numerere dine filer ved f.eks 01-fil.htm. Det du ser som link er <title>Navn på link</title> hvorved du selv bestemmer hvad der skal stå.

Stig
Avatar billede seagaard Nybegynder
15. februar 2001 - 11:05 #6
Hej SBARNEY!

Der sorteres efter dokumentets oprettelsestidspunkt! Men jeg har været ved at kigge på andre løsninger og har efterhånden fundet en farbar vej.

Seagaard
Avatar billede sbarnney Nybegynder
15. februar 2001 - 11:14 #7
Ligger du det nye herop ?

Stig
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