Random Header alle 24h

RoyalArsenal

Mitglied
Hallo allerseits,

Ich benutze auf meinem Blog ein Skript, welches mein Headerbild bei jedem Reload der Seite wechselt. Es sieht folgendermassen aus:

PHP:
<body onload='changeBG()'>
  <script type='text/javascript'>
      function changeBG()
      {    
        var banner = new Array();
        var random;

banner[0]=&quot;http://lh6.ggpht.com/_7C4NVJJsAWU/SZCPvilXBwI/AAAAAAAABPA/e0QfDJtLifg/header1.jpg&quot;
banner[1]=&quot;http://lh4.ggpht.com/_7C4NVJJsAWU/SZCRJiG9AAI/AAAAAAAABPI/6vSL0tdOYLM/header2.jpg&quot;
banner[2]=&quot;http://lh3.ggpht.com/_7C4NVJJsAWU/SZCRJ46PssI/AAAAAAAABPQ/a8r58jVAOJM/header3.jpg&quot;
banner[3]=&quot;http://lh3.ggpht.com/_7C4NVJJsAWU/SZClf2ff-tI/AAAAAAAABPc/jvGF5uXxyus/header4.jpg&quot;
banner[4]=&quot;http://lh3.ggpht.com/_7C4NVJJsAWU/SZClpk4At6I/AAAAAAAABPk/Aa5KHAWywQk/header5.jpg&quot;
banner[5]=&quot;http://lh6.ggpht.com/_7C4NVJJsAWU/SZClpqr_WGI/AAAAAAAABPs/RMNrSrFCBts/header6.jpg&quot;
banner[6]=&quot;http://lh5.ggpht.com/_7C4NVJJsAWU/SZClpsjuilI/AAAAAAAABP0/wvxPOSBe270/header7.jpg&quot;
banner[7]=&quot;http://lh4.ggpht.com/_7C4NVJJsAWU/SeOpHISMhPI/AAAAAAAAB9s/2gl3jONml38/header8.jpg&quot;
banner[8]=&quot;http://lh4.ggpht.com/_7C4NVJJsAWU/SeOpHOT0IkI/AAAAAAAAB90/EyErxwcap04/header9.jpg&quot;
banner[9]=&quot;http://lh6.ggpht.com/_7C4NVJJsAWU/SeOpHe5JixI/AAAAAAAAB98/vMzi3GkLrHY/header10.jpg&quot;
banner[10]=&quot;http://lh5.ggpht.com/_7C4NVJJsAWU/SZHROQzSJqI/AAAAAAAABR4/-3S-BJYFtSY/header11.jpg&quot;
...
...
...
...
...

 do {
          random = Math.round(283 *Math.random());
        } while(document.getElementById('header').style.backgroundImage == 'url(' +banner[random] +')')
        
        document.getElementById('header').style.backgroundImage = 'url(' +banner[random] +')';
      }
    </script>

Jetzt möchte ich dieses Script aber so modifizieren, dass er das Headerbild nur nach einer bestimmten Zeit (am besten 24h) wechselt und nicht nach jedem Reload.

Wie kann ich das mit diesem Code am besten bewerkstelligen?

Gruss
RoyalArsenal
 
Hi

ich glaube nicht dass das mit Javascript zu bewerkstelligen ist. Dafür müsstest du z.B. php nutzen. Hier mal ein einfaches Beispiel, ohne Datenbank.
PHP:
$images = array("test1.png","test2.png");
$handle = fopen("last_change.txt","w+");
$handle2 = fopen("bg_image.txt","w+");
$result = fread($handle,16);
$last_24h = time() - (24 * 60 * 60);
if( intval($result) < $last_24h ){
  $new_img = $images[rand(0,count($images)-1)];
  fwrite($handle2,$new_img);
  fwrite($handle,time());
}
$header_img = fread($handle2,32);
fclose($handle);
fclose($handle2);
HTML:
<img src="<?=$header_img;?>" alt="Kein Bild" />

Nicht getestet, sollte aber funktionieren, mit Datenbank lässt sich dass natürlich schöner gestalten.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück