Avatar billede dino84 Nybegynder
03. april 2005 - 16:28 Der er 7 kommentarer og
1 løsning

Vis fil efter dato fra en mappe

Jeg fandt denne løsning der går ind random og tager en fil i en bestemt mappe.

<%
mappenavn = "MAPPE/"    '<---- Angiv hvilken folder filerne er i
Set fs = CreateObject("Scripting.FileSystemObject")
Set files = fs.GetFolder(server.mappath(mappenavn)).Files

For Each f in files
  if InStr(1,"swf,gif,jpg,jpeg,bmp", LCase(fs.GetExtensionName(f.name))) > 0 then
    filList = filList & "," & f.name
  end if
next
filList = mid(filList,2)
billeder = Split(filList,",")
randomize
billedsrc = mappenavn & billeder(Int(rnd * (Ubound(billeder)+1)))

if Right(billedsrc,3) = "swf" then
  'Flash object
%>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="640" height="350">
  <param name="movie" value="<%=billedsrc%>">
  <param name="quality" value="high">
  <embed src="<%=billedsrc%>" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="504" height="280"></embed></object>
<%
else
  'Billede fil
  Response.Write "<img src=""" & billedsrc & """>"
end if

Set fs = Nothing
Set files = Nothing
%>

Kan jeg lave det om så den går ind og viser den nyeste fil først og efter 6 sec viser den det næst nyeste i mappen?
Avatar billede busschou Praktikant
03. april 2005 - 20:49 #1
Hmm ved ikke om der er en nem løsning
Men en kunne være at sortere dit array "billeder" efter hver fils sidste ændring dvs ved brug af f.DateLastModified
Dernæst kunne man gemme arrayet i en session
Hvert 6 sekund kunne man så redirecte til siden "minside.asp?billede=antal" hvor antal peger på det billede som skal vises
Hvis antal er sat så kigger den i sessionen og viser det billede nummer fra arrayet og dermed slipper man for at sortere hver gang der vises et billede
Avatar billede dino84 Nybegynder
03. april 2005 - 21:07 #2
oki lyder meget fornuftigt...

Kan du hjælpe med nogle eks. ?
Avatar billede busschou Praktikant
03. april 2005 - 21:28 #3
Jeg kan ikke umiddelbart komme på en nem sorterings algoritme
I din "for" løkke skal du jo hver gang du indsætter et f.name sideløbende køre et array med f.DateLastModified
Hver gang du så skal indsætte et f.name så må du løbe dine allerede oprettede arrays igennem for at finde den rette placering af den næste fil
...
Hvis blot du ville vise et nyt billede hvert 6.sekund uden det nødvendigvis skulle være i rækkefølge efter nyeste...så ville det være lettere
Avatar billede busschou Praktikant
03. april 2005 - 21:35 #4
Har du database adgang?
For i såfald kunne du jo hver gang et billede uploades indsætte navnet og tidspunktet i databasen
På den side hvor du så skal vise billederne kan du så hente fra databasen i rækkefølge
Det tror jeg vil være nemmest
Avatar billede dino84 Nybegynder
04. april 2005 - 17:14 #5
ja har database adgang.. men håbede lidt på jeg kunne undgå det...

Men tror vist bare det bliver løsningen...
Avatar billede busschou Praktikant
04. april 2005 - 17:19 #6
Det kan vist godt undgåes. Men så skal du søge på nettet eller eksperten efter en quick eller buble sort af dine filer. For afhængig af hvor mange filer det drejer sig som så kan det jo og vil det måske tage tid at sortere dem.
Avatar billede busschou Praktikant
08. juli 2005 - 08:35 #7
dino84 >> kommet videre eller er det lukketid ? ;o)
Avatar billede dino84 Nybegynder
25. oktober 2005 - 21:00 #8
nope er ikke kommet videre...
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