Using the
File System Object
to
Display a Random Image
:
Click here
to test this script.
Code:
Place in the <BODY>:
Highlight
<% Function RandomImage(ImagesFolderPath, ImageFileTypes) Dim CompleteImagesFolderPath, FileSystemObject, ImageFolder, Files, i, ImageFiles, File, FileName, FileExtension, RandomNumber CompleteImagesFolderPath = Server.MapPath(ImagesFolderPath) Set FileSystemObject = Server.CreateObject("Scripting.FileSystemObject") If Not FileSystemObject.FolderExists(CompleteImagesFolderPath) Then RandomImage = "Error 0: Cannot find requested directory" Set FileSystemObject = nothing Exit Function End If Set ImageFolder = FileSystemObject.GetFolder(CompleteImagesFolderPath) Set Files = ImageFolder.Files i = 1 Set ImageFiles = Server.CreateObject("Scripting.Dictionary") For Each File in Files FileName = File.Name FileExtension = Right(FileName, Len(FileName) - (InStrRev(FileName, "."))) If InStr(1,ImageFileTypes,FileExtension,vbTextCompare) > 0 then ImageFiles.Add i, FileName i = i + 1 End If Next Set ImageFolder = nothing Set Files = nothing Set FileSystemObject = nothing Randomize If ImageFiles.Count = 0 Then RandomImage = "Error 1: Requested folder does not contain any image files" Exit Function End If RandomNumber = Int((ImageFiles.Count) * Rnd + 1) RandomImage = "
" Set ImageFiles = nothing End Function %> <%Response.Write RandomImage("images/", "gif jpeg")%>