AdSense

Donnerstag, 29. August 2013

Tageszeitabhängige Header-Grafik

Bei einer Homepage, die ich betreue, wollte ich in der Kopfzeile eine Header-Grafik haben, die sich je nach Tageszeit ändert (tagsüber ein Bild von einem Gebäude bei Tag, in der Nacht ein entsprechendes Bild des Gebäudes bei Nacht). Das lässt sich leicht mit PHP umsetzen:

Zuerst muss die aktuelle Uhrzeit erfasst und in einer Variable gespeichert werden:

$time = date("G", time())

Die Funktion time() liefert den aktuellen UNIX-Timestamp des Servers. Der UNIX-Timestamp ist die Anzahl der Sekunden seit dem 01.01.1979 um 1 Uhr - damit kann man also recht wenig anfangen. Daher kommt noch die Funktion date() zum Einsatz. Sie wandelt den Timestamp in ein verwertbares Format. Das genaue Format wird über den ersten Parameter der Funktion gewählt. Im Beispiel wird der Paramter "G" verwendet - es werden die vollen Stunden ohne führende Null angegeben. Möglich sind aber auch noch viele andere Formate wie Wochentag, Monat und so weiter. Alle möglichen Parameter sind auf dieser Seite zu finden.

Die aktuelle volle Stunde wurde also in der Varible $time gespeichert und kann nun weiter verwendet werden. Wichtig zu wissen ist, dass die Zeit in UTC (Weltzeit) angegeben wird - für MEZ oder MESZ müssten entsprechend 1 oder 2 Stunden addiert werden.

Nun kann anhand der aktuellen Zeit die passende Header-Grafik ausgewählt werden:

if ($time > 7 && $time < 21 ) {
   $pfad = "http://hierdiedomaindeservers.de/images/header_tag.jpg";
 }

else {
    $pfad = "http://hierdiedomaindeservers.de/images/header_nacht.jpg";
}

Ist die Stundenzahl größer als 7 und kleiner als 21 (ist es also zwischen 8:00 und 20:59), dann wird der Pfad der "Tag-Grafik" in der Variable $pfad gespeichert - sonst der Pfad der "Nacht-Grafik".

Zum Schluss wird die Grafik via HTML in der Homepage eingebunden:

<img src="<?php echo $pfad; ?>" width="123" height="456" alt="" />

Mit dieser Methode können natürlich nicht nur tageszeitabhängige sondern auch beispielsweise jahreszeitabhängige oder wochentagsabhängige Grafiken erzeugt werden.

Keine Kommentare:

Kommentar veröffentlichen