Pphazer23Medlem sedan feb. 2001256 inlägg Använder just nu denna kod för att visa mappar och filer..
<HTML>
<HEAD>
<TITLE>FileSystemObject</TITLE>
</HEAD>
<BODY>
<%
Dim objFSO, objFolder, objSubFolders
Dim strFolderPath
strFolderPath = Server.MapPath("\")
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strFolderPath)
Set objSubFolders = objFolder.SubFolders
For Each Folder IN objSubFolders
strFolderName = Folder.Name
Response.Write "<A href=listafiler.asp?mapp="& strFolderName & ">"& strFolderName &"</A><BR>"
Next
Set objSubFolders = Nothing
Set objFolders = Nothing
Set objFSO = Nothing
%>
<%
dim strPathInfo, strPhysicalPath
strPathInfo = Request.ServerVariables("PATH_INFO")
strPhysicalPath = Server.MapPath(strPathInfo)
Dim objFile, objFileItem, objFolderContents
Set objFSO = CreateObject("Scripting.FileSystemObject")
set objFile = objFSO.GetFile(strPhysicalPath)
set objFolder = objFile.ParentFolder
set objFolderContents = objFolder.Files
%>
<TABLE cellpadding=5>
<TR align=center>
</TR>
<%
For Each objFileItem in objFolderContents
%>
<TR><TD align=left>
<A HREF="text.asp?fil=<%= objFileItem.Name %>"><FONT FACE="Verdana" SIZE="1">
<%= objFileItem.Name %></A></FONT></TD>
</TR>
<%
Next
%>
</TABLE>
</BODY>
</HTML>
Nu är det så att jag skulle vilja kunna klicka på en mapp och sedan kunna se alla filer i den mappen...
OOveRRidEMedlem sedan feb. 200112 078 inlägg Jag hade en bit kod för detta ändamål för ett tag sedan, men jag kan faktiskt inte hitta de just nu och orkar tyvärr inte skriva om det.. :l
Mitt script fungerade så att varje gång man klickade på en länk (som går till samma sida), skickade jag med querystring med den sökvägen och plockade ner den. Där listade jag sedan eventuella mappar och filer och sen börjar det ju om kan man säga. Eftersom man inte kan slå ihop .subFolders och .Files till en collection får man ju göra två exekveringar (mappar först och sedan filerna, som i windows) och det fungerade utmärkt för mig.
Rörigt. :l ;)
OOveRRidEMedlem sedan feb. 200112 078 inlägg Jag hittade koden, men jag var tvungen att ändra bort lite applikations-relaterade bitar, så det kan finnas en liten bugg nånstans.
[REDIGERING.] Som sagt, jag hittade en bugg. ;)
<%
if request.querystring("dir") = "" then
strPath = "/dinsokvag"
else
strPath = strPath & request.querystring("dir")
end if
'On Error Resume Next
dim objFSO,objFolder,objFile, strPath
set objFSO = Server.CreateObject("Scripting.FileSystemObject")
set objFolder = objFSO.GetFolder(server.mappath(strPath))
function getFileSize(int)
getFileSize = round(int/1024,0)
end function
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>- Filer -</title>
<link rel="stylesheet" href="/css/style.css" type="text/css">
</head>
<body bgcolor="#ffffff">
<table border="0">
<tr>
<td><font class="mtop2">Innehåll i <%=strPath%></font></td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><img src="/gfx/kat_1_top.gif"></td>
<td><b><font class="text">Katalognamn</b></font></td>
<td><b><font class="text">Storlek</b></font></td>
<td><b><font class="text">Skapad</b></font></td>
<td><b><font class="text">Senast läst</b></font></td>
</tr>
<tr>
<td height="5" colspan="5"></td>
</tr>
<tr>
<td width="15">«</td>
<td colspan="4"><font class="stext"><a href="<%=request.servervariables("SCRIPT_NAME")%>?dir=<%=objFSO.GetParentFolderName(strPath)%>">Bakåt i strukturen</a></font></td>
</tr>
<tr>
<td height="5" colspan="5"></td>
</tr>
<% for each objFile in objFolder.SubFolders %>
<tr>
<td><img src="/gfx/kat_1_fol.gif"></td>
<td><font class="text"><a href="<%=request.servervariables("SCRIPT_NAME")%>?dir=<%=strPath%>/<%=objFile.Name%>"><%=objFile.Name%></a></font></td>
<td><font class="text"><%=getFileSize(objFile.Size)%> kB</font></td>
<td><font class="text"><%=Left(objFile.DateCreated,10)%></font></td>
<td><font class="text"><%=Left(objFile.DateLastAccessed,10)%></font></td>
</tr>
<% next %>
<% for each objFile in objFolder.Files %>
<tr>
<td><img src="/gfx/kat_1.gif"></td>
<td><font class="text"><a href="<%=strPath%>/<%=objFile.Name%>"><%=objFile.Name%></a></font></td>
<td><font class="text"><%=getFileSize(objFile.Size)%> kB</font></td>
<td><font class="text"><%=Left(objFile.DateCreated,10)%></font></td>
<td><font class="text"><%=Left(objFile.DateLastAccessed,10)%></font></td>
</tr>
<% next %>
<tr>
<td colspan="5"><img src="/gfx/kat_1_bot.gif"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="10"></td>
</tr>
<tr>
<td><font class="text"></font></td>
</tr>
<tr>
<td colspan="4" height="3"></td>
</tr>
</table>
</body>
</html>
<%
set objFolder = nothing
set objFSO = nothing
%>
Pphazer23Medlem sedan feb. 2001256 inlägg Hur får jag den att funka från rooten ??? Skriver jag in bara / så blir det ju fel..
Pphazer23Medlem sedan feb. 2001256 inlägg Det blir fel när jag försöker klicka på något.. Mappar blir det detta felet..
Server.MapPath() error 'ASP 0174 : 80004005'
Invalid Path Character(s)
/funkanu.asp, line 14
An invalid '/' or '\' was found in the Path parameter for the MapPath method.
eftersom querystringen blir dir=//forum tex..
och filer går inte att klicka på alls eftersom det inte blir någon "path" framför filnamnet... :(
OOveRRidEMedlem sedan feb. 200112 078 inlägg Stand by for processing..
Pphazer23Medlem sedan feb. 2001256 inlägg Löste det själv bytte ut
<td><font class="text"><a href="<%=request.servervariables("SCRIPT_NAME")%>?dir=<%=strPath%>/<%=objFile.Name%>"><%=objFile.Name%></a></font></td>
mot
<td><font class="text"><a href="<%=request.servervariables("SCRIPT_NAME")%>?dir=<%=strPath%><%=objFile.Name%>"><%=objFile.Name%></a></font></td>
När jag presenterade mapparna och la in min egna http sökväg före fillänken...
Tack för hjälpen .... Nu kan man sova gött i kväll kanske.. (om Sverige bara spöar Finland ;) )
OOveRRidEMedlem sedan feb. 200112 078 inlägg Ok. :)
Funkar det att navigera in i flera undermappar än en nu då?
Pphazer23Medlem sedan feb. 2001256 inlägg Nope.. :( Trodde jag hade löst det....... Men icke sa nicke..... Funkar bara in i en undermapp...
Ligger det ytterliggare en under så skiter det sig....
OOveRRidEMedlem sedan feb. 200112 078 inlägg Som sagt, jag jobbar på det. Lugn. :)
Pphazer23Medlem sedan feb. 2001256 inlägg Tjena OveRRidE.. Fick till en lösning.. Vet inte hur smart den e men den funkar.....
Jag la till detta överst..
if NOT request.querystring("dir") = "" then
text = request.querystring("dir")
text = Replace(text,"//","/")
end if
och istället för
strPath = strPath & request.querystring("dir")
blev det
strPath = strPath & text
OOveRRidEMedlem sedan feb. 200112 078 inlägg Bra.
Jag hade inte tid innan helgen. Sorry. :)