Avatar billede alivedk Nybegynder
07. maj 2006 - 15:44 Der 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 ...

håber nogen kan tyde min beskrivelse =)
Avatar billede 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...

\Dan
Avatar billede alivedk Nybegynder
07. maj 2006 - 16:49 #2
Mapper/billeder skal selvfølgelig være klikbare (klik på en mappe listet hvad der er i den sov).. så helt så simpelt kan det vist ikke laves :(
Avatar billede Slettet bruger
07. maj 2006 - 16:50 #3
- OK!

Så laver jeg lige et lidt bedre script her senere i aften!

\Dan
Avatar billede alivedk Nybegynder
07. maj 2006 - 16:57 #4
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 :/
Avatar billede 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...

\Dan
Avatar billede alivedk Nybegynder
08. maj 2006 - 13:07 #6
http://www.bergsorensen.dk/stuff/

Lister foldere fint.. dog kan man ikke klikke på en folder og se indholdet osv.. lister også asp filen..
Avatar billede 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>

\Dan
Avatar billede alivedk Nybegynder
08. maj 2006 - 19:42 #8
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 =)
Avatar billede 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>
Avatar billede alivedk Nybegynder
09. maj 2006 - 08:53 #10
"et niveau op" linket virker dog ikke nu Oo
Avatar billede Slettet bruger
09. maj 2006 - 15:46 #11
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
Avatar billede 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>

\Dan
Avatar billede alivedk Nybegynder
09. maj 2006 - 16:32 #13
Smukt arbejde =)
Avatar billede Slettet bruger
09. maj 2006 - 16:35 #14
takker!
Avatar billede alivedk Nybegynder
11. maj 2006 - 12:54 #15
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?)
Avatar billede Slettet bruger
15. maj 2006 - 04:33 #16
tjae hvad med:
<%=path%>

\Dan
Avatar billede alivedk Nybegynder
25. maj 2006 - 18:03 #17
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?)
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