webForumDet fria alternativet

Fso --> Nu blir det komplicerat!(?)

ASP

8 svar · 302 visningar · startad av jimpa

Medlem sedan jan. 2001361 inlägg
Frågan#1

Hej

Nu har jag kört fast med mitt FSO-ande

Jag håller på med ett script där användare kan spara sina bilder.
Problemet är hur jag göra för att alla användares bilder ska kunna visas (själva loopen) , då varje användare har en unik mapp samt en undermapp där eventuella bilder sparas.

Mapp strukturen blir typ

Om användare har sparat bilder:
Mapp (Kalle) - Undermapp(bilder) - Bildfiler
Mapp (Nisse) - Undermapp(bilder) - Bildfiler
Mapp (Pisse) - Undermapp(bilder) - Bildfiler

Om inte användaren har sparat några bilder finns endast:
Mapp (Kalle)

--------

För att Loopa igenom en användares bilder använder jag denna kod

    Folder = Session("MM_Username")

    Set F = FSO.GetFolder(Server.MapPath("Xuser\" & Folder & "\bilder"))
    For Each File in F.Files

'skriver ut

next

Men hur blir koden nu när jag måste loopa igenom alla användares mappar Folder som innehåller mappen bilder som innehåller bildfilerna ?

Mvh Jimpa

Medlem sedan juni 20019 024 inlägg
#2

Du får väl först hämta alla användarna till ett recordset alternativt en matris och göra loopen där.

Medlem sedan jan. 2001361 inlägg
#3

Lite kod skulle underlätta :o :l

Medlem sedan juni 20019 024 inlägg
#4

Hmm, missuppfattade nog frågan. Du vill alltså loopa igenom mapparna (inte databasen som i sin tur pekar till en mapp)?

Medlem sedan jan. 2001361 inlägg
#5

Ja precis!

Jag vill Loopa igenom alla användares mappar och finns det en mapp i resp. mapp som heter bilder så ska jag skriva ut alla dom bilderna...

//Jimpa

Medlem sedan juni 20019 024 inlägg
#6

Här är ett exempel du kan bygga vidare på:

http://www.webforum.nu/showthread.php?s=&threadid=42570

Medlem sedan jan. 2001361 inlägg
#7

Weeee

TaMäFän jag fixat själv :birp

<%
Dim objFSO, objFolder, F

set objFSO = Server.CreateObject("Scripting.FileSystemObject")
set objFolder = objFSO.GetFolder(server.mappath("Xuser"))
For Each objFolder in objFolder.SubFolders
if objFSO.FolderExists(server.mappath("Xuser\" & objFolder.Name & "\mypictures")) = true Then
    Set F = objFSO.GetFolder(Server.MapPath("Xuser\" & objFolder.Name & "\mypictures"))
End if
Next
    For Each File in F.Files
Response.Write File.Name & "<br>"
Next
Set F = Nothing
set objFolder = Nothing
set objFSO = Nothing
%>
Medlem sedan jan. 2001361 inlägg
#8

Hehe
Nya problem :P

Nu försöker jag lägga till Paging till sidan också. Hittade ett ganska enkelt paging-script som jag försöker modifiera om lite.
Som det är nu så får jag inga felmeddelanden men scriptet fattar inte att det ska byta poster när man klickar framåt o bakåt på länkarna finns det nån som möjligen kan hjälpa mig att få till detta så det funkar?

<%

'Number of Items per page
NumPages = 1

Dim objFSO, objFolder, F

set objFSO = Server.CreateObject("Scripting.FileSystemObject")
set objFolder = objFSO.GetFolder(server.mappath("Xuser"))
For Each objFolder in objFolder.SubFolders
if objFSO.FolderExists(server.mappath("Xuser\" & objFolder.Name & "\mypictures")) = true Then
    Set F = objFSO.GetFolder(Server.MapPath("Xuser\" & objFolder.Name & "\mypictures"))
End if
Next
TotalRows = 0
    For Each File in F.Files

' Something found
if Right(File.Name, 3) <> "txt" Then
TotalRows = TotalRows + 1
end if
Next

PageSize = NumPages
TotalPages = (TotalRows/PageSize)

select case Request.QueryString("move")
	case "first" pageNo = 1  '  First
	case "previous" pageNo = cint(Session("page_num")) - 1  '  Next
	case "next" pageNo = cint(Session("page_num")) + 1  '  Previous
	case "last" pageNo = TotalPages  '  Last
	case Else PageNo = 1
End Select

if cint(PageNo) < 1 then PageNo = 1
if cint(PageNo) > TotalPages then pageNo = TotalPages

AbsolutePage = PageNo
PageNumber=PageNo
Session("page_num") = PageNo'

HowMany = 0
'Response.Write "<div align='center'><center><table border='0' width='425'>"
'Do until rs.EOF or 
    For Each File in F.Files
    if NOT HowMany => NumPages then
if Right(File.Name, 3) <> "txt" Then
Response.Write File.Name & "<br>"
howmany = howmany + 1
End if
End if
Next

Response.Write "<p align='center'>"
Response.Write "<a font class='forum' href='folder_test.asp?mode=show&move=first'>&lt;&lt;</a> "
Response.Write "<a font class='forum' href='folder_test.asp?mode=show&move=previous'>&lt;</a> "
Response.Write "<a font class='forum' href='folder_test.asp?mode=show&move=next'>&gt;</a> "
Response.Write "<a font class='forum' href='folder_test.asp?mode=show&move=last'>&gt;&gt;</a> "
Response.Write "<br>"
Response.Write "<p align='center'>" & PageNumber & " av " & TotalPages & "</p>"
Set F = Nothing
set objFolder = Nothing
set objFSO = Nothing
%>

Mvh Jimpa

Medlem sedan jan. 2001361 inlägg
#9

Hittade en tråd med liknande paging
Nu funkar det utmärkt :D

Blev så här:

<%

'Number of Items per page
NumPages = 3

Dim objFSO, objFolder, F

set objFSO = Server.CreateObject("Scripting.FileSystemObject")
set objFolder = objFSO.GetFolder(server.mappath("Xuser"))
For Each objFolder in objFolder.SubFolders
if objFSO.FolderExists(server.mappath("Xuser\" & objFolder.Name & "\mypictures")) = true Then
    Set F = objFSO.GetFolder(Server.MapPath("Xuser\" & objFolder.Name & "\mypictures"))
End if
Next
TotalRows = 0
    For Each File in F.Files

' Something found
TotalRows = TotalRows + 1
end if
Next

PageSize = NumPages
PageCount = TotalRows \ PageSize + 1 
PageIndex = Request.QueryString("sida") 
If PageIndex = "" Then 
PageIndex = 1 
End If 
FirstIndex = (PageIndex - 1) * PageSize 
LastIndex = FirstIndex + PageSize 
    
If TotalRows = 0 Then
Response.Write "Nada"
Else

For Each File in F.Files
if Index < FirstIndex Then
Elseif Index < LastIndex Then
Response.Write F
Response.Write File.Name & "<br>"
strUrlPath = Right(F,Len(F)-InstrRev(F,"Xuser"))
Response.Write "<a target=""_blank"" href=""X" & strUrlPath & "/" & File.Name & """><img src=""X" & strUrlPath & "/" & File.Name & """></a><br>"
Else 
Exit For
End if
Index = Index + 1 
Next
End If

For i = 1 To PageCount 
if i = CInt(PageIndex) Then 
Response.Write  "<b>" & i & "</b>"
Else
Response.Write " <a href=folder_test.asp?sida=" & i & ">" & i & "</a> "
End if 
Next

Set F = Nothing
set objFolder = Nothing
set objFSO = Nothing
%>
262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)