19. juni 2004 - 20:24Der er
36 kommentarer og 1 løsning
"Fil-fremviser" i iframe
Hej.. hmm.. jo, jeg skulle gerne bruge et script som er i stand til at vise alle filer i en bestemt mappe, frem i en select-box.. Man skal så kunne trykke på en af filerne i selectboxen, og filen skal blive vist i en iframe...
Har lige lavet et eksempel på hvad det er jeg egentlig mener:
-Det virker selvfølgelig ikke.. Bare for at vise hvordan det skulle fungere (Og så er det en textbox der er i eksemplet i stedet for en iframe).. hmm... Ja, det var vist det tror jeg nok..
Mon ikke du kan gøre det med en fil der hedder fx. vis.asp der indeholder:
<% if not request.querystring("fil") = "" then dir = "filer/" set fs = CreateObject("Scripting.FileSystemObject") filespec = server.mappath(dir & request.querystring("fil")) set file = fs.OpenTextFile(filespec,1) response.write file.readAll fs.close end if %>
så skal din select box se ud som noget i stilen af:
<% Set fso = CreateObject("Scripting.FileSystemObject") Set folderObject = fso.GetFolder(Server.MapPath("filer")) Set filesObject = folderObject.Files response.write "<form method=""get"" action="""&request.servervariables("script_name")&""">" response.write "<select name=""fil"" onchange=""this.form.submit()"">" response.write "<option></option>"
For Each file In filesObject file = file.Name response.write "<option>" & file & "</option>" next response.write "</select>" response.write "</form>" %>
Altså? Min selectbox? Jeg forstår ikke... Hvor skal denne kode ind:
<% Set fso = CreateObject("Scripting.FileSystemObject") Set folderObject = fso.GetFolder(Server.MapPath("filer")) Set filesObject = folderObject.Files response.write "<form method=""get"" action="""&request.servervariables("script_name")&""">" response.write "<select name=""fil"" onchange=""this.form.submit()"">" response.write "<option></option>"
For Each file In filesObject file = file.Name response.write "<option>" & file & "</option>" next response.write "</select>" response.write "</form>" %>
- Og, det her er så min fejl, sorry, men ville bare lige spørge om du ikke gad lave det om; Filerne bliver vist i en selectbox, men det jeg egentlig ville have skrevet var listbox (ligesom i exemplet) ups.. Men det er ikke så vigtigt.. Jeg kan bare oprette det i et ny spm, hvis det er...
ok, har fundet ud af det med listbox/selectbox.. Det er jo det samme! hehe.. Smarte mig.. Smækkede lige size=15 ind efter selectname=""fil""
Men, der er lige en anden ting med listboxen (eller selectboxen.. hehe).. Det øverste felt i den er tomt.. Er det noget man kan lave om? - Hvis ikke, så er det bare helt i orden :)
Nåh joh (Jeg bliver ved)... Og også... hmm.. Du kan vel ikke lave sådan at der er en knap man skal trykke på for at vise filen, efter at man har markeret den i selectboxen (Ligesom i eksemplet)... :)
Det er altid rart med nogle irriterende tilføjelser hen ad vejen, ikk.. hehe..
For Each file In filesObject file = file.Name response.write "<option>" & file & "</option>" next response.write "</select>" response.write "</form>" %>
FILNAVN: fil.asp INDHOLD: ------------------------------------------------ <% if not request.querystring("fil") = "" then dir = "text/" set fs = CreateObject("Scripting.FileSystemObject") filespec = server.mappath(dir & request.querystring("fil")) set file = fs.OpenTextFile(filespec,1) response.write file.readAll fs.close end if %> ------------------------------------------------
<table cellspacing="10"> <tr><td> <iframe src="fil.asp?fil=<%=request.querystring("fil")%>" width="500" height="360"></iframe> </td> <td> <% Set fso = CreateObject("Scripting.FileSystemObject") Set folderObject = fso.GetFolder(Server.MapPath("text")) Set filesObject = folderObject.Files response.write "<form method=""get"" action="""&request.servervariables("script_name")&""">" response.write "<select name=""fil"" size=19>"
For Each file In filesObject file = file.Name response.write "<option>" & file & "</option>" next response.write "</select>" response.write "</form>" %>
<table cellspacing="10"> <tr><td> <iframe src="fil.asp?fil=<%=request.form("fil")%>" width="500" height="360"></iframe> </td> <td> <% Set fso = CreateObject("Scripting.FileSystemObject") Set folderObject = fso.GetFolder(Server.MapPath("text")) Set filesObject = folderObject.Files response.write "<form method=""post"" action="""&request.servervariables("script_name")&""">" response.write "<select name=""fil"" size=19>"
For Each file In filesObject file = file.Name response.write "<option>" & file & "</option>" next response.write "</select>" response.write "</form>" %>
Sådan her.. Så skal du lige rette i fil.asp, den skal rettes til:
<% if not request.querystring("fil") = "" then dir = "fil.asp/" set fs = CreateObject("Scripting.FileSystemObject") filespec = server.mappath(dir & request.querystring("fil")) set file = fs.OpenTextFile(filespec,1) response.write file.readAll end if %>
Hvad hvis du bare viser den i en fil for sig..? Altså ikke i et frameset..?
Ellers så skal du måske rette en enkelt linie i scriptet, nemlig den her: response.write "<form method=""post"" action=""" & request.servervariables("script_name") & ".asp"">"
Hehe... det var mig der lige lavede en kæmpe fejl før i min kommentar ;-)
<% if not request.querystring("fil") = "" then dir = "text/" set fs = CreateObject("Scripting.FileSystemObject") filespec = server.mappath(dir & request.querystring("fil")) set file = fs.OpenTextFile(filespec,1) response.write file.readAll end if %>
<% if not request.querystring("fil") = "" then dir = "text/" set fs = CreateObject("Scripting.FileSystemObject") filespec = server.mappath(dir & request.querystring("fil")) set file = fs.OpenTextFile(filespec,1) response.write replace(file.readAll,VbCrLf,"<br>") end if %>
så burde du have linieskift igen ;-) Takker for points..!
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.