Avatar billede jekk Nybegynder
30. september 2007 - 19:09 Der er 14 kommentarer

hvordan kan man vise alle web-stedets pdf-filer på et site ?

jeg ønsker at "scanne" mit web-sted (-hotel) for filer - f.eks. pdf-filer og vise dem på en hjemmeside, med deres filnavne og gøre dem klikbare a la links -
hvordan gør man det - f.eks. i noget asp...
(en kodestump vil være gavnligt)

(filerne lægges ud af mine gæster via en ftp-server - så jeg kender ikke filerne på forkant - med de skal gøres tilgængelig for andre gæster...)
Avatar billede radiohead Nybegynder
30. september 2007 - 20:01 #1
eksempet på asp:

<%
Set fso = CreateObject("Scripting.FileSystemObject")
Set fsoFolders = fso.GetFolder(Server.MapPath("../pdf-fil-mappe"))


    For Each file In fsoFolders.Files
    strName = LCase(file.Name)

    If right(strName, 3) = "pdf" Then
        Response.Write strName &  "<br>"
    End If

    Next

Set fsoFolders = Nothing
Set fso = Nothing
%>
Avatar billede radiohead Nybegynder
30. september 2007 - 20:04 #2
Nårh ja.. og så lige et link til pdf'en:

istedet for response.write strName & "<br>" skriver du

Response.write "<a href=""../din-pdf-fil-mappe/" & strName & """>" & strName & "</a>" &  "<br>"
Avatar billede radiohead Nybegynder
30. september 2007 - 20:08 #3
Havde ikke lige nærlæst spørgsmålet. Sorry.
Ved ikke lige hvordan du scanner et komplet website med asp, men lytter interesseret med :)
Avatar billede w13 Novice
30. september 2007 - 20:17 #4
Tror det må være nogenlunde sådan her:
<%strPath="/"
Function ShowPDF()
    objFSO=CreateObject("Scripting.FileSystemObject")
    For Each folder In objFSO.GetFolder(Server.MapPath(strPath)).SubFolders
        For Each file In objFSO.GetFolder(Server.MapPath(strPath)).Files
            strName=LCase(file.Name)
            If right(strName, 3) = "pdf" Then Response.Write "<a href="""&strPath&"/"&strName&""">"&strName&"</a><br>"
        Next
        strPath=folder.Name
        ShowPDF()
    Next
    Set objFSO=Nothing
End Function%>
Avatar billede jekk Nybegynder
30. september 2007 - 21:09 #5
>>> radiohead...
koden virker fint nok !
men opdagede, at jeg ikke får åbnet til min særskilte ftp-server !?
(det er en DNS323)
troede at response redirect "ftp://bruger:password@mitdomæne.dk"
før din kodestump, var nok !

i andre sammenhænge, kan jeg åbne en fil efter samme princip - nemlig
response redirect "ftp://bruger:password@mitdomæne.dk/minmappe/minfil.pdf"

?????
Avatar billede w13 Novice
01. oktober 2007 - 02:43 #6
Men viser det ikke kun filer, der ligger i roden?
Avatar billede w13 Novice
01. oktober 2007 - 02:52 #7
Wups. Således:
-------------------------
<%strPath="/"
Function ShowPDF()
    Set objFSO=CreateObject("Scripting.FileSystemObject")
    For Each folder In objFSO.GetFolder(Server.MapPath(strPath)).SubFolders
        Response.Write "<b>"&folder&"</b>: "
        For Each file In objFSO.GetFolder(Server.MapPath(strPath)).Files
            strName=LCase(file.Name)
            Response.Write "<a href="""&strPath&"/"&strName&""">"&strName&"</a><br>"
        Next
        strPath=folder.Name
        ShowPDF()
    Next
    Set objFSO=Nothing
End Function
ShowPDF%>
Avatar billede jekk Nybegynder
01. oktober 2007 - 11:21 #8
>>>w13
tak for den udbyggede kodestump - som givet virker !

men mit konstaterede problem, at redirect til ftp-serveren, tilsyneladende overtager "magten", idet den efterfølgende kodestump IKKE bliver udført !?

med andre ord - følgende kan jeg ikke få til at virke:

<%
response redirect "ftp://bruger:password@mitdomæne.dk/minmappe/"
strPath="/"
Function ShowPDF()
    Set objFSO=CreateObject("Scripting.FileSystemObject")
    For Each folder In objFSO.GetFolder(Server.MapPath(strPath)).SubFolders
        Response.Write "<b>"&folder&"</b>: "
        For Each file In objFSO.GetFolder(Server.MapPath(strPath)).Files
            strName=LCase(file.Name)
            Response.Write "<a href="""&strPath&"/"&strName&""">"&strName&"</a><br>"
        Next
        strPath=folder.Name
        ShowPDF()
    Next
    Set objFSO=Nothing
End Function
ShowPDF
%>

resultat:
redirect virker OG overtager - d.v.s. ftp-direktory vises,
men resultatet af kodestumpet vises IKKE
------------------------------------------------------
problem:
hvordan får jeg kodestumpen til at køre på indholdet i ftp-serveren, som et asp-program ???
Avatar billede w13 Novice
01. oktober 2007 - 14:13 #9
Jeg er ikke helt med. Uden redirect viser min kode intet?
Avatar billede jekk Nybegynder
01. oktober 2007 - 15:43 #10
på min web-server afvikles den viste samlede kode <%....%>
hvor der først skiftes/åbnes (redirect) for området på min ftp-server, som fysisk er en anden "computer"...
når redirect er udført, vises en ftp-fil oversigt (som jeg ikke ønsker vist),
herefter vil jeg ha' at din kode, skal liste alle folderens filer,
men det sker ikke - det er som om din kode slet ikke bliver udført,
selvom den følger lige efter redirect-linien !?
Avatar billede w13 Novice
01. oktober 2007 - 21:19 #11
Når du response.redirecter går den videre til en ny side. Denne nye side har jeg absolut ingenting med at gøre. Den viser det, den er beregnet til, og min kode udføres naturligvis ikke. Så lad være med at redirecte til den og se så, om min kode fungerer.
Avatar billede w13 Novice
08. april 2008 - 11:54 #12
Kommet vdere?
Avatar billede jekk Nybegynder
08. april 2008 - 21:10 #13
nej desværre ...
jeg havde problemer med, at få din kode til at "se" ned i min FTP-server's mappe, som jeg åbnede FØR kald af din function ...

så gik jeg "kold"...
Avatar billede w13 Novice
08. april 2008 - 21:23 #14
Hvordan ser koden ud nu?
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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