hughesmi
02-05-2008, 11:46 AM
Hello all, could someone help me modify this code? The code was picked up from site found via Google. It is a simple gallery viewer it uses the FileSystemObject Object and it looks at the subfolders and displays back pictures stored in a the sub directorys
I want it to pick just one specific folder. The folder name will be determined form this record set = rs("username")
<%
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
qfolder = request.querystring("f")
if qfolder = "" then
folderspec = server.mappath(".")
Set filesys = CreateObject("Scripting.FileSystemObject")
Set demofolder = filesys.GetFolder(folderspec)
Set folcoll = demofolder.SubFolders
For Each subfol in folcoll
folsize = left((subfol.size/1000000), 3)
folist = folist & "<a href='?f=" & subfol.name & "'><strong title='view'>»</strong> " & subfol.Name & " </a><small> (" & folsize & " MB)</small>" & vbcrlf
folist = folist & "<BR>"
Next
set filesys = nothing
Response.Write folist
else
filepath = server.mappath(".") & "\" & qfolder
captionfile = filepath & "\captions.txt"
Set filesys = CreateObject("Scripting.FileSystemObject")
Dim SomeArray()
'caption part
If filesys.FileExists(captionfile) then
set file = filesys.GetFile(captionfile)
Set TextStream = file.OpenAsTextStream(ForReading,TristateUseDefault)
captioncount = 0
Do While Not TextStream.AtEndOfStream
Line = TextStream.readline
ReDim Preserve SomeArray(captioncount)
SomeArray(captioncount) = line
'response.write captioncount & " " & somearray(captioncount) & "<br>"
captioncount = captioncount + 1
'Response.write Line
Loop
textStream.close
end if
'folder part
Set demofolder = filesys.GetFolder(filepath)
Set filecoll = demofolder.Files
filecount = 0
For Each file in filecoll
Ext = UCase(Right(File.Path, 3))
If Ext = "JPG" OR Ext = "GIF" Then
on error resume next
data = SomeArray(filecount)
on error goto 0
hrefpath = qfolder & "/" & file.name
imagepath = "<strong>" & data & "</strong><br><a href='" & hrefpath & "' title='free image gallery' border=0><img src='" & hrefpath & "' border='" & border_size & "' title=""" & data & """ style='border-color: " & border_color & ";'></a><br>"
filist = filist & imagepath & vbcrlf
filist = filist & "<BR>"
filecount = filecount + 1
data = ""
end if
Next
set filesys = Nothing
filist = filist & ""
%>
<h3><a href="<%=rs("username")%>.asp" title="up one level">«</a>
<%=qfolder%></h3>
<p><%=filist%></p>
<% end if %>
<p style="font-size: xx-small;"><a href="../main.asp"><< Main Menu</a>
</body>
</html>
I want it to pick just one specific folder. The folder name will be determined form this record set = rs("username")
<%
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
qfolder = request.querystring("f")
if qfolder = "" then
folderspec = server.mappath(".")
Set filesys = CreateObject("Scripting.FileSystemObject")
Set demofolder = filesys.GetFolder(folderspec)
Set folcoll = demofolder.SubFolders
For Each subfol in folcoll
folsize = left((subfol.size/1000000), 3)
folist = folist & "<a href='?f=" & subfol.name & "'><strong title='view'>»</strong> " & subfol.Name & " </a><small> (" & folsize & " MB)</small>" & vbcrlf
folist = folist & "<BR>"
Next
set filesys = nothing
Response.Write folist
else
filepath = server.mappath(".") & "\" & qfolder
captionfile = filepath & "\captions.txt"
Set filesys = CreateObject("Scripting.FileSystemObject")
Dim SomeArray()
'caption part
If filesys.FileExists(captionfile) then
set file = filesys.GetFile(captionfile)
Set TextStream = file.OpenAsTextStream(ForReading,TristateUseDefault)
captioncount = 0
Do While Not TextStream.AtEndOfStream
Line = TextStream.readline
ReDim Preserve SomeArray(captioncount)
SomeArray(captioncount) = line
'response.write captioncount & " " & somearray(captioncount) & "<br>"
captioncount = captioncount + 1
'Response.write Line
Loop
textStream.close
end if
'folder part
Set demofolder = filesys.GetFolder(filepath)
Set filecoll = demofolder.Files
filecount = 0
For Each file in filecoll
Ext = UCase(Right(File.Path, 3))
If Ext = "JPG" OR Ext = "GIF" Then
on error resume next
data = SomeArray(filecount)
on error goto 0
hrefpath = qfolder & "/" & file.name
imagepath = "<strong>" & data & "</strong><br><a href='" & hrefpath & "' title='free image gallery' border=0><img src='" & hrefpath & "' border='" & border_size & "' title=""" & data & """ style='border-color: " & border_color & ";'></a><br>"
filist = filist & imagepath & vbcrlf
filist = filist & "<BR>"
filecount = filecount + 1
data = ""
end if
Next
set filesys = Nothing
filist = filist & ""
%>
<h3><a href="<%=rs("username")%>.asp" title="up one level">«</a>
<%=qfolder%></h3>
<p><%=filist%></p>
<% end if %>
<p style="font-size: xx-small;"><a href="../main.asp"><< Main Menu</a>
</body>
</html>