Avatar billede hehlers Nybegynder
14. oktober 2003 - 09:21 Der er 10 kommentarer og
1 løsning

Vise et tilfældigt billede fra en bestemt mappe

Hejsa

Jeg skal bruge et lille script som viser et tilfældigt billede fra min mappe /upload. - Er der en der kan lave sådan en lille sag? :D

På forhånd tak.
Avatar billede medions Nybegynder
14. oktober 2003 - 09:46 #1
Fx. sådan her:

<%
    Function AntalFiler (strSti)
        strFilSti = Server.Mappath(strSti)
        Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
        Set objMappe = objFSO.GetFolder(strFilSti)
       
        intAntal = 0
        For Each Item in objMappe.Files
            intAntal = intAntal + 1
        Next
       
        AntalFiler = intAntal
    End Function
   
    Function RandomBG(intInterval)
        Randomize
        lngTal = CInt(Rnd() * intInterval)
       
        If lngTal = 0 Then
            RandomBG = lngTal + 1
        Else
            RandomBG = lngTal
        End If
    End Function
%>
<img src="<%= RandomBG(AntalFiler("img/billeder")) %>.gif">

//>Rune
Avatar billede hehlers Nybegynder
14. oktober 2003 - 10:02 #2
Fint script men...
Jeg har jo en mappe hvori der i forvejen ligger en masse billeder med tilfældige navne.

Og det er så et tilfældigt billede fra denne mappe som skal vises...
Avatar billede hehlers Nybegynder
14. oktober 2003 - 10:03 #3
I dit script skal billedet jo hedde 1,2,3,4,5,6,7,8 eller 9 ikke?

Kan du rette det i scriptet? ;)
Avatar billede medions Nybegynder
14. oktober 2003 - 10:03 #4
Jov :)

Men kan du da ikke bare rette dine  billeder til så de ligger efter rækkefølgen?

//>Rune
Avatar billede medions Nybegynder
14. oktober 2003 - 10:07 #5
Det er ikke afprøvet men det skal ca. være noget ligenden dette her:

<%
    Function AntalFiler (strSti)
        strFilSti = Server.Mappath(strSti)
        Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
        Set objMappe = objFSO.GetFolder(strFilSti)
       
        strFiles = ""
        For Each Item in objMappe.Files
            strFiles = strFiles & Item ","
        Next
       
    intLength = Len(strFiles)-1
    strFiles = Left(strFiles, intLength)

        arrFiles = Split(strFiles, ",")
    End Function
   
    Function RandomBG(intInterval)
        Randomize
        lngTal = CInt(Rnd() * intInterval)
       
        If lngTal = 0 Then
            RandomBG = lngTal + 1
        Else
            RandomBG = lngTal
        End If
    End Function
%>
<img src="<%= (AntalFiler(RandomBG())) %>.gif">

Prøv ellers selv at arbejdt lidt med det, jeg har lidt knap med tid desvære...

//>Rune
Avatar billede hehlers Nybegynder
14. oktober 2003 - 10:19 #6
Er desværre ikke så god til ASP, så det kan nok godt blive et problem... Men tak for din hjælp alligevel. Er der andre der ved noget om det?
Avatar billede erikjacobsen Ekspert
14. oktober 2003 - 11:06 #7
Avatar billede hehlers Nybegynder
14. oktober 2003 - 11:23 #8
Takker det fungerer nogenlunde. - Dog viser den kun det sidst nye billede i mappen og ikke et tilfældigt.... Er der en der kan rette i koden?
____________________________________________________________________
<%
'==========================================================
' Method #3: This method is the most work for the server,
' but it allows you to simply drop a new image into the
' image directory specified and it will automatically
' start showing it randomly with the others.
'==========================================================
' Set our random images pickup directory.  All files in
' this direcotory will be randomly displayed so it's
' important that the directory contain only image files
' that you want to display.  Non-image files and files
' that shouldn't be displayed should not be placed into
' this directory.
Const IMGS_DIR = "./upload/"

' Variables for our FileSystemObject objects
Dim objFSO, objFolderObject, objFileCollection, objFile

' A pair of integers for our random image selection
Dim intFileNumberToUse, intFileLooper

' A "handle" to the file we choose to use
Dim objImageFileToUse

' A variable to build our image tag
Dim strImageSrcText

' Lets see what's in the directory:
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolderObject = objFSO.GetFolder(Server.MapPath(IMGS_DIR))
Set objFSO = Nothing

Set objFileCollection = objFolderObject.Files
Set objFolderObject = Nothing

' Get a count of files and use it to generate a random
' number from 1 to the count.
intFileNumberToUse = Int(objFileCollection.Count * Rnd) + 1

' Set up loop control so we exit when we get to the random
' file number we just picked.
intFileLooper = 1
For Each objFile in objFileCollection
    If intFileLooper = intFileNumberToUse Then
        ' Get a "handle" on the appropriate file
        Set objImageFileToUse = objFile
        Exit For
    End If
    intFileLooper = intFileLooper + 1
Next

Set objFileCollection = Nothing

' Build our img src tag text
strImageSrcText = IMGS_DIR & objImageFileToUse.Name

Set objImageFileToUse = Nothing

' Show the image:
%>

<img src="<%= strImageSrcText %>" width="150" height="100" border="1">
Avatar billede erikjacobsen Ekspert
14. oktober 2003 - 11:26 #9
Har han glemt at sige Randomize ? Sæt den ind lige før linien med rnd
Avatar billede hehlers Nybegynder
14. oktober 2003 - 11:29 #10
weee tusind takker :D Svarer du lige...
Avatar billede erikjacobsen Ekspert
14. oktober 2003 - 11:41 #11
ok ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester