07. maj 2006 - 15:44Der er
16 kommentarer og 1 løsning
Fil system på web
Jeg er på jagt efter et system/script, der på min webserver kan liste folders/filer og preview af billeder når musen bevæges over filnavnene. Har set et prebuild system et stykke tid siden, men fik selvfølgelig ikke gemt linket.
Skal bruge det til en rode mappe på min webserver hvor jeg kan smide billeder/filmklip osv op til offentlig skue.. og scriptet skal så gøre det lidt mere tilgængeligt ...
Udfordringerne hober sig op i fødevare- og drikkevareindustrien og gør den til en af de mest sårbare.
24. oktober 2024
Slettet bruger
07. maj 2006 - 16:27#1
Hej
Jamen er det ikke bare et hurtigt fso-script til pågældende mappe? noget a la det her: <% path = "MinRodeMappe" set fs=Server.CreateObject("Scripting.FileSystemObject") if fs.FolderExists(server.mappath(path))=true then set f=fs.GetFolder(server.mappath(path)) for each file in f.files filename = file.name %> <a href="<%=path%>/<%=filename%>"> <%=filename%> </a> <br> <% next set f=nothing end if set fs=nothing %>
- man kan selvfølgelig sagtens gøre det meget mere fancy - fx. med at den kun viser bestemte filtyper og med at man kan ændre filnavn med videre...
Det ville være super duper hvis du har tid (og lyst) til det..
Lige for at vi ikke går fejl af hinanden:
- Lister filer og mapper i den folder hvor scriptet er placeret - Filer og mapper skal være klikbare - Klikkes der åp en mappe, listes filer/mapper i den folder - nemmeste måde er msåke at lave det som et windows ala. tree system?
Smider gerne ekstra point afsted.. er ikke selv den store coder mere desværre :/
Synes godt om
Slettet bruger
07. maj 2006 - 23:40#5
Hejsa
Så fik jeg endelig lavet et simpelt script til dig! Her: <html> <% path = request.querystring("folder") if path = "" then path = "./" end if set fs=Server.CreateObject("Scripting.FileSystemObject") if request.querystring("folder") <> "" then parent=fs.GetParentFolderName(path) %> <a href="<%=request.servervariables("script_name")%>?folder=<%=parent%>"> Et niveau op! </a> <br> <% end if set f=fs.GetFolder(server.mappath(path)) for each folder in f.subfolders foldername = folder.name foldercount=foldercount+1 %> <a href="<%=request.servervariables("script_name")%>?folder=<%=request.querystring("folder")%>/<%=foldername%>"> <%=foldername%> </a> <br> <% next if foldercount <> "" then %> Du ser <%=foldercount%> mapper ovenfor!<br> <%else%> Der er ingen undermapper i denne mappe!<br> <% end if for each file in f.files filename = file.name filecount=filecount+1 %> <a href="<%=path%>/<%=filename%>"> <%=filename%> </a> <br> <% next set f=nothing set fs=nothing if filecount <> "" then %> Du ser <%=filecount%> fil(er) ovenfor!<br> <%else%> Der er ingen filer i denne mappe!<br> <%end if%> </html>
Du skal bare placere dette script i samme mappe som den mappe den skal "starte" med at vise filer og mapper i...
Lister foldere fint.. dog kan man ikke klikke på en folder og se indholdet osv.. lister også asp filen..
Synes godt om
Slettet bruger
08. maj 2006 - 18:54#7
Hejsa
Det var faktisk lidt underligt - for det virker på min IIS server - men ikke på en SUNs asp-server...
Nå, men så prøv denne her i stedet: <html> <% path = replace(request.querystring("folder"),"../","") if path = "" then path = "./" end if set fs=Server.CreateObject("Scripting.FileSystemObject") if request.querystring("folder") <> "" then parent=fs.GetParentFolderName(path) %> <a href="<%=request.servervariables("script_name")%>?folder=<%=parent%>"> Et niveau op! </a> <br> <% end if set f=fs.GetFolder(server.mappath(path)) for each folder in f.subfolders foldername = folder.name foldercount=foldercount+1 if request.querystring("folder") = "" then %> <a href="<%=request.servervariables("script_name")%>?folder=<%=request.querystring("folder") & foldername%>"> <%=foldername%> </a> <br> <% else %> <a href="<%=request.servervariables("script_name")%>?folder=<%=request.querystring("folder") & "/" & foldername%>"> <%=foldername%> </a> <br> <% end if next if foldercount <> "" then %> Du ser <%=foldercount%> mapper ovenfor!<br> <%else%> Der er ingen undermapper i denne mappe!<br> <% end if for each file in f.files filename = file.name filecount=filecount+1 if request.querystring("folder") = "" then %> <a href="<%=path & filename%>"> <%=filename%> </a> <br> <% else %> <a href="<%=path & "/" & filename%>"> <%=filename%> </a> <br> <% end if next set f=nothing set fs=nothing if filecount <> "" then %> Du ser <%=filecount%> fil(er) ovenfor!<br> <%else%> Der er ingen filer i denne mappe!<br> <%end if%> </html>
Ammen.. det er jo helt kanont.. sidste "bug".. kan man gøre så den ikke lister index.asp filen med? Så har du vist også gjort dig fortjent til alle pointene, hvert og en plus det løse =)
Synes godt om
Slettet bruger
08. maj 2006 - 21:24#9
OK! Så er det også lavet! Sådan her:
<html> <% path = replace(request.querystring("folder"),"../","") if path = "" then path = "./" end if set fs=Server.CreateObject("Scripting.FileSystemObject") if request.querystring("folder") <> "" then parent=fs.GetParentFolderName(path) %> <a href="<%=request.servervariables("script_name")%>?folder=<%=parent%>"> Et niveau op! </a> <br> <% end if set f=fs.GetFolder(server.mappath(path)) for each folder in f.subfolders foldername = folder.name foldercount=foldercount+1 if request.querystring("folder") = "" then %> <a href="<%=request.servervariables("script_name")%>?folder=<%=request.querystring("folder") & foldername%>"> <%=foldername%> </a> <br> <% else %> <a href="<%=request.servervariables("script_name")%>?folder=<%=request.querystring("folder") & "/" & foldername%>"> <%=foldername%> </a> <br> <% end if next if foldercount <> "" then %> Du ser <%=foldercount%> mapper ovenfor!<br> <%else%> Der er ingen undermapper i denne mappe!<br> <% end if for each file in f.files filename = file.name filecount=filecount+1 if request.querystring("folder") = "" then if NOT request.servervariables("path_translated") = server.mappath(path & filename) then %> <a href="<%=path & filename%>"> <%=filename%> </a> <br> <% end if else %> <a href="<%=path & "/" & filename%>"> <%=filename%> </a> <br> <% end if next set f=nothing set fs=nothing if filecount <> "" then %> Du ser <%=filecount%> fil(er) ovenfor!<br> <%else%> Der er ingen filer i denne mappe!<br> <%end if%> </html>
Nej og det undrer også mig at den ikke virker for den virker på min server! Jeg tror det har noget med dit webhotel at gøre! Men giv mig lige 10 minutter - så finder jeg en anden løsning!
\Dan
Synes godt om
Slettet bruger
09. maj 2006 - 16:08#12
Sådan! Nu har jeg lavet det uden den der "ParentFolder" men på en lidt anden og meget mere omstændig måde! Sådan her: <html> <% path = replace(request.querystring("folder"),"../","") if path = "" then path = "./" end if set fs=Server.CreateObject("Scripting.FileSystemObject") if request.querystring("folder") <> "" then parent = split(request.querystring("folder"),"/") for a=0 to ubound(parent) parentcount=parentcount+1 next Nparentcount=0 Nparent = split(request.querystring("folder"),"/") for b=0 to ubound(Nparent) Nparentcount=Nparentcount+1 if NOT Nparentcount=parentcount then parentlink = parentlink & "/" & Nparent(b) end if next if left(parentlink,1) = "/" then parentlink = right(parentlink,len(parentlink)-1) end if %> <a href="<%=request.servervariables("script_name")%>?folder=<%=parentlink%>"> Et niveau op! </a> <br> <% end if set f=fs.GetFolder(server.mappath(path)) for each folder in f.subfolders foldername = folder.name foldercount=foldercount+1 if request.querystring("folder") = "" then %> <a href="<%=request.servervariables("script_name")%>?folder=<%=request.querystring("folder") & foldername%>"> <%=foldername%> </a> <br> <% else %> <a href="<%=request.servervariables("script_name")%>?folder=<%=request.querystring("folder") & "/" & foldername%>"> <%=foldername%> </a> <br> <% end if next if foldercount <> "" then %> Du ser <%=foldercount%> mapper ovenfor!<br> <%else%> Der er ingen undermapper i denne mappe!<br> <% end if for each file in f.files filename = file.name filecount=filecount+1 if request.querystring("folder") = "" then if NOT request.servervariables("path_translated") = server.mappath(path & filename) then %> <a href="<%=path & filename%>"> <%=filename%> </a> <br> <% end if else %> <a href="<%=path & "/" & filename%>"> <%=filename%> </a> <br> <% end if next set f=nothing set fs=nothing if filecount <> "" then %> Du ser <%=filecount%> fil(er) ovenfor!<br> <%else%> Der er ingen filer i denne mappe!<br> <%end if%> </html>
Lige et hurtigt spørgsmål.. er der en nem måde at få scriptet til at skrive hvilken sti man er i? (ex. hvis man er i folder=menu) så skrives det på hjemmesiden .. (ex. print i en variabel?)
Sidste (og vil gerne give en bunke flere point hvis det kan løses) så lister scriptet ikke mapper/filer efter dato (men efter oprettelse på serveren?)
Synes godt om
Ny brugerNybegynder
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.