Avatar billede trevi Nybegynder
14. maj 2006 - 17:52 Der er 12 kommentarer og
1 løsning

Hjælp til autoskift

Hej eksperter.

Jeg skal bruge en form for kode der gør at den henter alle billeder der ligger i en mappe og skifter automatisk i mellem dem.

Hvert 5 sekundt skal der komme et nyt billede. og meget gerne hvis det kan lade sig gøre som man kan i java hvor billedet kan fade lidt ud og og det nye fader ind igen, lidt ligesom i flash.

håber i forstår !
Avatar billede jakobdo Ekspert
14. maj 2006 - 18:51 #1
Selve hentningen af billeder i en mappe, det kan du lave med php, kig på funktionen: glob()

Det med at skifte hvert 5. sekund og fade in/out, der skal du kigge på javascript.
Avatar billede zynzz Praktikant
14. maj 2006 - 18:53 #2
$stien= "sti/sti/";
$dir=opendir($stien);
$fil = readdir($dir)
if(!is_dir($fil))
$fil2 = rand($fil);
    echo "<img border=0 src=."$stien"."$fil2".>";

så kan du evt lave en meta refresh
Avatar billede jakobdo Ekspert
14. maj 2006 - 19:49 #3
Avatar billede trevi Nybegynder
14. maj 2006 - 20:19 #4
jacobdo - det er med link ja, men når billedet skal gøre det af sig selv uden man skal klikke på det, har du så en ide hvordan det kan gøres?
Avatar billede jakobdo Ekspert
14. maj 2006 - 20:45 #5
Det kan du måske lave med setinterval() og så lave en funktion som skifter billede igen og igen.
Avatar billede trevi Nybegynder
14. maj 2006 - 21:56 #6
nu har jeg lavet dette:

<?php
//sti til mappen som skal åbnes for læsning. I dette tilfælde den aktuelle mappe
$path = opendir("random/");
//filerne skal i et array for at kunne tælles
$billeder = array();
//Vi læser dir igennem for filer
while (false !== ($dir = readdir($path))){
//Laver et array med de filer i mappen som ikke skal vises
$ejvist = array(".", "..", "rand.php", "README.html", "HEADER.shtml", "rand.zip");
//Er filen i arrayet ejvist fortsætter vi
    if (in_array($dir, $ejvist)) {
continue;
    } else {
//Smider filerne i et array.
    $billeder[] = $dir;
    }
}
//Lukker dir'et vi åbnede øverst
closedir($path);
//Tæl billeder og brug rand
$vistbillede = rand(0, count($billeder) -1);
echo "<img src='random/$billeder[$vistbillede]' witdh='100' height='150'>";
?>


Hvad siger du så ? jeg vil helst ikke have at man kan se at det blinker i iframe/div'en jeg laver.
Avatar billede trevi Nybegynder
14. maj 2006 - 22:08 #7
der skal være noget med mt_srand((double)microtime()*1000000);


eller?
Avatar billede jakobdo Ekspert
14. maj 2006 - 22:13 #8
Du kan kigge på denne: http://www.dyn-web.com/dhtml/banners/ eller http://www.dyn-web.com/javascript/rotate-img/
Du skal så "bare" fylder billederne i via PHP.
Avatar billede jakobdo Ekspert
15. maj 2006 - 08:13 #9
Og de har faktisk også et script som gør alt hvad du behøver: http://www.dyn-web.com/scripts/rotate-rand/
Avatar billede trevi Nybegynder
18. maj 2006 - 21:07 #10
undskyld glemte helt spørgsmålet, det virker fint nu :D. Smider du et svar?
Avatar billede jakobdo Ekspert
19. maj 2006 - 08:25 #11
Svar!
Avatar billede trevi Nybegynder
20. maj 2006 - 11:41 #12
mange tak for hjælpen !
Avatar billede jakobdo Ekspert
20. maj 2006 - 12:36 #13
Takker for point.
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