Ett enkelt nybörjarskript för att visa filer i en mapp som länkar.
Byt ut ett variabelt värde - så är det klart att köra!
:D Nicklas
Snutten:
<%
'Enkelt script för att lista filer som länkar i ASP
'byt ut "res/" till din mapp!
Dim fs, f, f1, s, sf, mapp
mapp = "res/"
folderspec = (server.mappath(mapp))
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set sf = f.SubFolders
For Each f1 In sf
s = s & f1.name
s = s & vbCrLf
Next
set fso=server.createObject("Scripting.FileSystemObject")
set folder=fso.getFolder(server.mappath(mapp))
for each f1 in folder.files
response.write "<A HREF=" & mapp & f1.name & " TARGET = _blank>" & f1.name & "</A>" & "<br>"
next
%>
Herrejävlar. Här söker man igenom halva internet efter ett såhär enkelt och bra skript. Så hittar man det via Google på själva webForum!!! ska börja med att söka här nästa gång...
Söker man på Google så kan man i alla fall ha turen att få ett vettigt script. Det här är ganska fulkodat. Ingen indetering och inga objekt stängs efter användning.
Lite kul också att två FSO-objekt öppnas. Fast ena med Server.CreateObject och andra med CreateObject.
Om man är nybörjare så borde man väl förstå att man gör bort sig om man försöker lära ut saker man själv inte kan...
jaha... menar du att det inte är nå vidare bra idé att använda det där?! ...*suck* jaja... får väl byta ut det nångång då... letade så länge utan att hitta nåt bara, jobbigt. Hittade massa avancerade saker med upload och grejjer. Men det enda jag vill ha är nåt som listar filer precis som om det vore tillåtet på servern att titta i en katalog som i utforskaren i Windows.
jaha... menar du att det inte är nå vidare bra idé att använda det där?!
Annars kan du ju utgå från det scriptet för att skapa något liknande som är bättre. De fel som Erik Juhlin pekade på, är ju enkla att korrigera själv. :)
Hej, är nybörjare på detta. Har fått scriptet att fungera. Nu undrar jag om man kan lägga till andra parametrar så att man kan visa t ex skapadedatum för filerna? Kan man även dölja suffixen?
Fråga ang. senaste scriptet: hyperlänkarna fungerar inte om filnamnet innehåller skandinaviska tecken. Kan man komma runt detta? Hittade ingen parameter där man kan ställa in så att filens suffix döljs. Kan man göra detta? Går det att få filerna att bli sorterade i alfabetiskt ordning istället för som nu att den yngsta filen visas högst upp i listan? Mvh/Peter
Hej , sorry - visst fungerade att dökja suffixen nu när jag tittar lite närmare på resultatet. Är dock för rudis för att förstå var "Server.URLEncode" skall in i scriptet. Då stupar även nästa funktion - det där med att få filnamnen att bli sorterade i alfabetisk ordning. Kan du möjligtvis hjälpa mig med "Server.URLEncode" i scriptet så vore jag jättetacksam!
blir inge riktigt bra det där med Server.URLEncode...
Har lagt in det i scriptet på min sida men det går fortfarande inte att öppna filnamn med å, ä, ö i.
Det kompletta scriptet som jag nu använder på min sida ser ut som följande:
<%
sFolder = "/filer/pressreleaser/"
set oFso = Server.CreateObject("Scripting.FileSystemObject")
set oFolder = oFso.GetFolder(server.mappath(sFolder))
for each oFile in oFolder.files
response.write "<a href=""" & Server.URLEncode(sFolder & oFile.name) & """ target=""_blank"">" & Left(oFile.name, instrrev(oFile.Name, ".") - 1) & "</a> (" & oFile.DateCreated & ")<br>"
next
set oFolder = Nothing
set oFso = Nothing
%>
Till att börja med så verkar det som att du har med mappen två gånger. Om asp-filen ligger i samma mapp som filerna som ska laddas hem får du ta bort sFolder ur länken.
Vid närmare eftertanke var det nog ingen bra idé att köra urlencode på hela klabbet.
Får vi se hur din kod ser ut nu, så kanske vi kan hitta något.
edit: där kom koden ja.
Prova följande:
<%
sFolder = "/filer/pressreleaser/"
set oFso = Server.CreateObject("Scripting.FileSystemObject")
set oFolder = oFso.GetFolder(server.mappath(sFolder))
for each oFile in oFolder.files
response.write "<a href=""" & sFolder & Server.URLEncode(oFile.name) & """ target=""_blank"">" & Left(oFile.name, instrrev(oFile.Name, ".") - 1) & "</a> (" & oFile.DateCreated & ")<br>"
next
set oFolder = Nothing
set oFso = Nothing
%>