Banner zu bestimmten Jahreszeiten ändern

hallo,

wollte mal fragen ob mir jemand helfen kann ich habe mehrere banner für meine hp und habe mir die banner wechslung so vorgestellt:

Faschingsbanner - 01.02 - 10.03 Frühlingsbanner - 15.03. - 30.03 Osterbanner - 01.04 - 25.04 Sommerbanner - 15.06. - 30.06 Herbst - 15.09 - 25.09 Halloween 29.10 - 05.11 Weihnachtsbanner - 06.12. - 26.12 Silvesterbanner - 27.12. - 05.01 wenn keine Datum zutritt dann den Normalerbanner verwenden

jetzt habe ich allerdings keine ahnung wie ich das hinbekomme schon gegoogelt aber noch nix gescheites gefunden

das einzigste was ich derzeit auf der hp habe ist das hier:

[code]<?php
$imagesstd = date(„G“);
// Vergleichsoperatoren
if ($imagesstd >= 5 && $imagesstd < 9){ // von 5.oo Uhr bis 8.59 Uhr
$images = „./img3.jpg“;}
elseif ($imagesstd >= 9 && $imagesstd <= 12) { // von 9.oo Uhr bis 12.59Uhr
$images = „./img1.jpg“;}
elseif ($imagesstd >= 12 && $imagesstd <= 15) { // von 13.00 Uhr bis 14.59 Uhr
$images = „./img6.jpg“;}
elseif ($imagesstd >= 15 && $imagesstd <= 19) { // von 16.00 Uhr bis 18.59 Uhr
$images = „./img7.jpg“;}
elseif ($imagesstd >= 19&& $imagesstd <= 23) { // von 20.00 Uhr bis 23.59 Uhr
$images = „./img4.jpg“;}
else {$images = „./img5.jpg“;} // von 00.00 Uhr bis 4.59 Uhr

?>[/code]

vielleicht kann man das ja sogar nehmen und ein wenig modifizieren?
mfg
bedanke mich schon mal
paul^^ :ps:

php.net/date

dort stehen alle date() modi. Statt “G” könntest du etwas passendes fürs Datum raussuchen, und daran dann den rest aufbauen.
zum beispiel “n” für die Monate 1-12, und “j” für die Tage 1-31

Das ist doch kein Problem :ps:
Zuerst (weils praktischer ist) ein Array mit den Werten:

$banners = array(
    "01.02 - 10.03" => "banner_fasching.jpg",
    "15.03 - 30.03" => "banner_fruehling.jpg",
    //usw...
);

Da gibts mehrere Möglichkeiten, ich hab mich für die Entschieden :ps:

Dann die Abfrage:


$banner_now="standardbanner.jpg";

foreach($banners as $date => $banner)
{
   list($start, $end) = explode(" - ", $date);
   list($start_day, $start_month) =  explode(".", $start);
   list($end_day, $end_month) =  explode(".", $end);
   
   // Ab jetzt können wir mit den 4 Variablen weiterrechnen
   $time = time(); //Aktuelle Zeit
   if(mktime(0, 0, 0, $start_month, $start_day) < $time &&
       mktime(0, 0, 0, $end_month, $end_day + 1) > $time)  //End-Tag + 1, weil 0:00 des nächsten Tages ;)
       {
            $banner_now=$banner;
            break;
       }
}

echo "<img src='$banner_now' alt='Banner' />";

Ungetestet :wink:

Referenz: at.php.net/mktime