Avatar billede daki Juniormester
28. oktober 2002 - 10:34 Der er 14 kommentarer og
1 løsning

Hente nyt billede

Hvordan får jeg dette script (fundet her på eksperten) til at hente et nyt billede hvert 5. sek.

<?
$mappenavn = "medlemmer/";
$mappe = opendir($mappenavn);
while($fil = readdir($mappe))
  {
  if (eregi("\.(gif|jpg)+$",$fil))
      {
      $billeder[] = $fil;
      }
  }
$billedsrc = $mappenavn . $billeder[rand(0, sizeof($billeder)-1)];
echo "<img src=\"$billedsrc\" width=110 height=60 border=\"0\">";
?>
Avatar billede emileej Nybegynder
28. oktober 2002 - 11:18 #1
Det script er PHP - et serverside script. Det kan ikke opdatere noget med minder at du holder en åben forbindelse eller opdaterer siden.
Du har ret i at poste dit spørgsmål her i javascript kategorien - her en løsning til dit problem:
---------------
<head><script>
var imageList;
var imageIdx;
var updateTimer;
var updateTimeout=5000;

function loadImages(){
    imageIdx=0;
    imageList=new Array();
    imageList[0]="bg1.gif";
    imageList[1]="bg2.gif";
    imageList[2]="bg3.gif";
    updateTimer=setTimeout("updateImage()",updateTimeout);
}

function updateImage(){
    clearTimeout(updateTimer);
    var tmp=0;
    do{
        tmp=Math.round(Math.random()*(imageList.length-1));
    }while(tmp==imageIdx || tmp>=imageList.length);
    imageIdx=tmp;
    document.dynamicImage.src=imageList[imageIdx];
    updateTimer=setTimeout("updateImage()",updateTimeout);
}
</script></head><body onload="loadImages();">
<img src="blank" name="dynamicImage">
</body>
---------------
E-)mil
http://mfp.eej.dk
Avatar billede daki Juniormester
28. oktober 2002 - 12:35 #2
Jeg kikker på det i aften.

Er der noget jeg skal være opmærksom på, evt. ændring af mappenavn el andet ?

/dan
Avatar billede daki Juniormester
28. oktober 2002 - 19:43 #3
Jeg har prøvet, at se på dit forslag.
Men da jeg er fuldstændig 'NOT' javascript kan jeg ikke finde ud af, hvad du mener.
Jeg prøver lige at forklare problemstillingen:

I mappen 'medlemmer' er der lige nu 71 *.gif billeder (Det kan godt ændre sig).
Jeg ønsker, at i script/frame billed.php skal et af billederne vises - og billede skal skifte ca. hvert 5. sek.
Håber du vil hjælpe mig - jeg giver gerne flere points

/dan
Avatar billede emileej Nybegynder
28. oktober 2002 - 23:21 #4
aaahhh - den del havde jeg lige overset... når du har med php at gøre, skal du selvfølgeligt huske at gemme som .php på en server, der har php indstalleret.
Når den er i orden, skal siden se således ud:

<head><script>
var imageList;
var imageIdx;
var updateTimer;
var updateTimeout=5000;

function loadImages(){
    imageIdx=0;
    imageList=new Array();
<?php
$mappenavn="medlemmer/";
$mappe=opendir($mappenavn);
$i=0;
while($fil=readdir($mappe)){
    if(eregi("\.(gif|jpg)+$",$fil)){
        echo "imageList[$i]=\"$fil\";\n";
        $i++;
    }
}
?>    updateTimer=setTimeout("updateImage()",updateTimeout);
}

function updateImage(){
    clearTimeout(updateTimer);
    var tmp=0;
    do{
        tmp=Math.round(Math.random()*(imageList.length-1));
    }while(tmp==imageIdx || tmp>=imageList.length);
    imageIdx=tmp;
    document.dynamicImage.src=imageList[imageIdx];
    updateTimer=setTimeout("updateImage()",updateTimeout);
}
</script></head><body onload="loadImages();">
<img src="blank" name="dynamicImage">
</body>
---------------

E-)mil
Avatar billede daki Juniormester
29. oktober 2002 - 20:35 #5
Har du checket det ?
Når jeg køreR scriptet vises der et hvidt felt med rødt kryds og en lille hvid streg ovenover. :-)

Jeg kan også bruge filen, som html - hvis det er lettere at lave !!!!
Avatar billede emileej Nybegynder
29. oktober 2002 - 21:24 #6
Kender du til php? Er du sikker på at dit webhotel understøtter php?
Avatar billede daki Juniormester
29. oktober 2002 - 22:19 #7
Ja, jeg kender lidt til PHP.
Og ja, mit webhotel understøtter php.
Det er en hjemmeside, som jeg for ganske nylig er begyndt at vedligeholde og det hele er programmeret i php, på nær de faste frames, som er html.

I øjeblikket tester jeg på localhost inden jeg oploader.
Det script som jeg har vist virker udemærket, men der kommer jo først et nyt billede, hvis man opdatere siden. ;-))
Avatar billede daki Juniormester
31. oktober 2002 - 21:47 #8
Det med den lille streg var en fejl fra min siden :-)
Det er som om, at den ikke vil godtage de 2 php tegn <?php + ?>.
Med disse tegn kommer der en debug. Uden kommer der bare den lille hvide firkant med et rødt kryds. :-((
Avatar billede emileej Nybegynder
31. oktober 2002 - 23:56 #9
Prøv at uploade til din server og check følgende:
Er du sikker på at du har php installeret og konfigureret korrekt på din localhost?
Husker du at køre din fil som http://localhost/[url-til-fil]?

E-)mil
Avatar billede daki Juniormester
01. november 2002 - 08:28 #10
Jeg har fundet ud af, hvad der er galt !!!
Mappenavnet 'medlemmer' bliver ikke hentet. :-(

Hvis jeg vælger egenskaber for billedet vises stien ../../../www/imagelist
skulle det ikke være ../../../www/medlemmer/filnavn.gif
eller er der noget jeg har misforstået ????

/dan
Avatar billede emileej Nybegynder
01. november 2002 - 09:26 #11
Jow jeg antog at dit script var fejlfrit, men ser nu at følgende:
    echo "imageList[$i]=\"$fil\";\n";
skal rettes
    echo "imageList[$i]=\"$mappenavn$fil\";\n";
Det burde fikse det.

E-)mil
Avatar billede daki Juniormester
01. november 2002 - 14:54 #12
DET VIRKER NU :-))

Et lille problem, når siden startes er der blankt, ellers kommer der et nyt billede ca. hvert 5. sek.
Avatar billede emileej Nybegynder
01. november 2002 - 17:16 #13
Doh! Ja det er min fejl. Ret linien:

}
?>    updateTimer=setTimeout("updateImage()",updateTimeout);
}

Til:

}
?>    updateTimer=setTimeout("updateImage()",0);
}

E-)mil
Avatar billede daki Juniormester
02. november 2002 - 13:48 #14
Tak for hjælpen, nu er det bare helt iorden.
Velfortjente points dig dig.
Avatar billede emileej Nybegynder
02. november 2002 - 16:24 #15
Rart at kunne hjælpe :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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