Detta kanske kan ta dig en bit på väg:
http://www.webforum.nu/showthread.php?s=&threadid=42570
Sitter själv o knåpar med något liknande.
Ngn som har något bra script som listar alla filer och mappar i en katalogiserad meny med länkar och allt?
10 svar · 507 visningar · startad av pirajan
Ngn som har något bra script som listar alla filer och mappar i en katalogiserad meny med länkar och allt?
Detta kanske kan ta dig en bit på väg:
http://www.webforum.nu/showthread.php?s=&threadid=42570
Sitter själv o knåpar med något liknande.
Ngt liknande kanske skulle passa:
<%
Option Explicit
Response.Buffer = True
Dim intIndent
intIndent = 0
%>
<HTML>
<HEAD>
<TITLE>pbExplorer v 1.00</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY bgcolor="#FFFFFF" text="#000000">
<%
Call CreateTreeMenu(Server.MapPath("\"))
%>
</BODY>
</HTML>
<%
Sub CreateTreeMenu(ByVal sFolderPath)
Dim objFSO
Dim objFolder
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(sFolderPath)
'## -- list all folders --
Call ListFolders(objFolder, intIndent)
Set objFolder = Nothing
Set objFSO = Nothing
End Sub
'## -- list all subfolders in folder --
Sub ListFolders(ByVal oFolder, ByVal iIndent)
Dim SubFolder
Dim strFolderName
'## -- print out foldername --
For Each SubFolder IN oFolder.SubFolders
strFolderName = SubFolder.Name
Call DoIndent(iIndent)
Response.Write "[" & strFolderName & "]<BR>"
Call ListFolders(SubFolder, iIndent + 1)
Call ListFiles(oFolder, iIndent + 1)
Next
End Sub
'## -- list all files in folder --
Sub ListFiles(ByVal oFolder, ByVal iIndent)
Dim File
Dim strFileName
For Each File in oFolder.Files
strFileName = File.Name
Call DoIndent(iIndent)
Response.Write strFileName & "<BR>"
Next
End Sub
Sub DoIndent(ByVal iIndent)
Dim N
For N = 1 TO iIndent
Response.Write " "
Next
End Sub
%>
indenterar endast med mellanslag
[r]
raden Response.Write i DoIndent ska bytas ut mot:
Response.Write "& n b s p ; & n b s p ; & n b s p ; & n b s p; "
minus mellanslag så att det blir "hårda mellanslag" i HTML-koden
vart luddigt men hoppas att du fattar :e
[/r]
cya,
PatrikB
Hur ändrar man denna kod så att filerna listas så här?
patric.jpg
charlotte.jpg
bilder/fil.jpg
bilder/filer.jpg
bilder/bildbank/fil.jpg
bilder/igår/fil1.jpg
bilder/igår/fil2.jpg
Hade ett sådant script till min förra hemsida (I-N). Kan försöka "sära" på scriptet och hemsidan...
Asa... Den där var lite låg.. :) kolla in http://forum.gruvsjo.com/forum.asp?id=5401
Om du skickar med foldernamnet som argument i funktionerna och lägger in det i utskriftssträngen så borde det väl fungera. (I lite lagom luddig princip)
Nu kommer inte meitt exempel fungera rakt av, men det kanske ger något att spinna vidare på.
Typ:
<%
Option Explicit
Response.Buffer = True
Dim intIndent
intIndent = 0
%>
<HTML>
<HEAD>
<TITLE>pbExplorer v 1.00</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY bgcolor="#FFFFFF" text="#000000">
<%
Call CreateTreeMenu(Server.MapPath("gb"))
%>
</BODY>
</HTML>
<%
Dim foldern
Sub CreateTreeMenu(ByVal sFolderPath)
Dim objFSO
Dim objFolder
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(sFolderPath)
'## -- list all folders --
Call ListFolders(objFolder, intIndent,foldern )
Set objFolder = Nothing
Set objFSO = Nothing
End Sub
'## -- list all subfolders in folder --
Sub ListFolders(ByVal oFolder, ByVal iIndent,foldern )
Dim SubFolder
Dim strFolderName
'## -- print out foldername --
For Each SubFolder IN oFolder.SubFolders
strFolderName = SubFolder.Name
Call DoIndent(iIndent)
foldern = "\" & strFolderName & "\"
Response.Write "[" & strFolderName & "]<BR>"
Call ListFolders(SubFolder, iIndent + 1,foldern)
Call ListFiles(oFolder, iIndent + 1,foldern)
Next
End Sub
'## -- list all files in folder --
Sub ListFiles(ByVal oFolder, ByVal iIndent,foldern)
Dim File
Dim strFileName
For Each File in oFolder.Files
strFileName = File.Name
Call DoIndent(iIndent)
Response.Write foldern & strFileName & "<BR>"
Next
End Sub
Sub DoIndent(ByVal iIndent)
Dim N
For N = 1 TO iIndent
Response.Write " "
Next
End Sub
%>
Det vore sjysst LeonL.
Okej... Du har väl rätt Åsa...