• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Geordneter Bildwechsel statt random?

Philostratos

Neues Mitglied
Hallo,
ich nutze folgenden Code um einen Bildwechsel beim Refreshen der Seite zu erreichen:

PHP:
<meta http-equiv="refresh" content="4" > 
<?php 
/* Inhalt der Textdatei 
Bild1.jpg|http://www.la.de
Bild2.jpg|http://www.la.de/shop/
*/ 

$banner = file("scraper.txt"); 
srand((double)microtime()*1000000); 
shuffle($banner); 
$zufall     = $banner[0]; 
$ausgabe     = explode("|", $zufall); 
$bild         = $ausgabe[0]; 
$link         = $ausgabe[1];  
$map         = $ausgabe[2];  
$zufallsbanner = '<img src="'.$bild.'" border="0" usemap="#'.$map.'">';
 echo $zufallsbanner; 
?> 

<map id="Schir" name="Schir">
<area shape="rect" alt="" title="" coords="0,0,160,160" href="http://www.la.de/" target="_blank" />
<area shape="rect" alt="" title="" coords="1,180,160,600" href=http://www.la.de/shop/ target="_blank" />
</map>
<map id="Lati" name="Lati">
<area shape="rect" alt="" title="" coords="1,0,158,381" href="http://www.la.de/" target="_blank" />
<area shape="rect" alt="" title="" coords="0,398,159,598" href=http://www.la.de/shop/ target="_blank" />
</map>

Das Dilemma: Das Skript läd manchmal das schon angezeigte Bild, ich möchte aber einen kontinuierlichen, endlosen Wechsel zwischen Bild1.jpg und Bild2.jpg. Habt Ihr eine Idee, wie ich das erreichen kann? Mit switch statt shuffle habe ich es nicht hinbekommen.
Bin dankbar, wenn sich jemand der Sache annehmen könnte.

Herzliche Grüße Georg
 
Wenn du dafür keine GET-Parameter oder Sessions (erfordern Cookies) verwenden möchtest, kannst du über die aktuelle Serverzeit ermitteln, welches Bild angezeigt werden soll. Das sollte zumindest theoretisch funktionieren.

Anders gesagt: Von 12:00:00 bis 12:00:03 Bild 1, von 12:00:04 bis 12:00:07 Bild 2, von 12:00:08 bis 12:00:11 Bild 1 usw.

Snippet, das zu jeder Sekunde das Bild zurückgibt:

PHP:
<?php

$from = date('U');
$to = $from + 100;

for ($i = $from; $i <= $to; $i++) {
    if ((int) floor($i / 4) % 2 === 0) {
        echo $i . ' Bild eins ***' . "\n";
    } else {
        echo $i . ' Bild zwei' . "\n";
    }
}

Die Schleife spielt zur Verdeutlichung 100 Sekunden durch.
 
Coole Idee.

Man könnte auch eine Datei mit allen Bildern anlegen und nach der Anzeige die entsprechende Zeile löschen.
 
Zurück
Oben