Det gör du med serverside-script (alltså inte klient-sides JavaScript). Vad har du tillgång till? ASP, CGI?
------------------
/ J
18 svar · 212 visningar · startad av Oblivion
Jag har ett formulär och jag skulle vilja ha en dropdown där som visar alla filer som ligger i en viss mapp, hur gör jag det ?
------------------
I´ll Be Back...
Det gör du med serverside-script (alltså inte klient-sides JavaScript). Vad har du tillgång till? ASP, CGI?
------------------
/ J
<%
Dim fso
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Dim rf
set rf = fso.GetFolder(Server.MapPath("YourFolderName"))
response.write "<select name='files'>"
For Each file in rf.files
Response.Write "<option value='" & file.Name & "'>" & file.name & "</option>"
Next
response.write "</select>"
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 04 nov 2001]
jag hoppar på denna tråd, och frågar om man på nått enkelt sätt kan räkna filerna i en mapp ....
------------------
kolung.....det tål att tänkas på!
rf.Files.Count
Borde gå...
------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/
[Redigerat av Erik Juhlin den 09 dec 2001]
Borde gå, men fungerar absolut inte för mig. Får inget felmeddelande heller. Blir aldrig klar sidan...
Någon som kan se något fel med detta?
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("J:\projects\eONTheme\web\images")
For Each f in objFolder.Files
Response.Write f.Name & "<br>"
Next 'f
------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/
Norton?
Det har varit några som har haft problem med fso som visat sig breo på att dom också har Norton antivirus installerat. Om du söker så kan du nog hitta länken där till msdn där det finns en patch.
------------------
essentitia preter non sans multiplicandum
Hoho, måste vara det. Morsan har ju installerat Norton på deras dator. :e
------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/
Jag får det inte att funka...nu har jag denna:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath("../../../data/upload"))
[b]Set objFiles = objFSO.GetFile(Server.MapPath("../../../data/upload"))[/b]
If objFiles.File.Count > 0 Then
jag får följande fel:
Microsoft VBScript runtime error '800a0035'
File not found
/office1/admin/add.asp, line 186
det är ju ganska logiskt, för det finns inga filer där. Men om det inte finns några filer där vill ju jag skriva ett eget meddelande, typ:"Du måste ladda upp en fil först"
hur fixar jag det....?
------------------
kolung.....det tål att tänkas på!
[Redigerat av icaaq den 09 dec 2001]
If not objfso.FileExists(Server.MapPath("../../../data/upload")) Then
response.write "Icke existerande filer må icke ..."
end if
------------------
essentitia preter non sans multiplicandum
....jag fixade det..(jag måste börja läsa bättre vad ni skriver.. :r )
------------------
kolung.....det tål att tänkas på!
Frågetecken.
Count är en egenskap som innehåller antal objekt i en samling.
red: Då så.
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 09 dec 2001]
Lösningen på hur man kollar om det finns några filer i en mapp och om det finns så listar man dem i en select:
<%
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("D:\Inetpub\Externa\Meditrixstart\data\upload")
If objFolder.Files.Count > 0 Then
%>
<tr>
<td valign="top"><select name="filer">
<%
For Each File In objFolder.Files
%>
<option value="<%=File.name%>"><%=Left(File.name, Len(File.Name)-4)%></option>
<%
next
%>
</td>
</tr>
<%
End IF
%>
detta kanske var småpotatis för som kan FSO men man ska ju börja nånstans.. :)
------------------
kolung.....det tål att tänkas på!