ASP Image Gallery
A simple 1 file asp based image gallery with captions. To use simply place the asp file in a folder with other folders that contain images. Within each folder you then place a text file called captions.txt, with one caption on each line of the text file to correspond with each image (sorted by image name). When displayed on the web, the caption will be displayed above each picture. This relies on the fils system object. Most web hosts support this, but if you have trouble or receive errors, you may want to contact your ISP and ask if they support the use of the file system object.
The script is made up of 2 parts.
First part is to read the folders and display a link with the folder name. We loop create a file system object then loop through each folder found and also display the size in MB contained in each folder. Each folder name is then a link to display the images and captions.
The second part of the file will loop through all JPG and GIF images, then open the captions.txt file and also grab each line and then "match-up" the 2 groupd of lists to write the caption at the top of each image, each image is also clickable to display by itself for printing.
<CODE><%
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 & "� " & subfol.Name & " <small> (" & folsize & " MB)</small>" & vbcrlf
folist = folist & "
"
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) & "
"
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 = "" & data & "
"free image gallery" href='"%20&%20hrefpath%20&%20"'><img src='" & hrefpath & "' border='1' title='" & data & "'>
"
filist = filist & imagepath & vbcrlf
filist = filist & "
"
filecount = filecount + 1
data = ""
end if
Next
set filesys = Nothing
filist = filist & "
<small><a href='http://www.allscoop.com/' target='_blank'>free image gallery</small>"
%>
<h3>up one level">�
<%=qfolder%></h3>
<%=filist%>
<% end if %>
That is it, very simple and easy to use. Certainly not full of features, but if you just need to quickly get some pictures up with captions...it's pretty easy. Hope you enjoy it!
View a demo online
Download Source Files with Demo Pictures