Compiwurstel: Nach Datum laden

Hallo zusammen,
ich habe einen Terminplan, der jede Woche (freitags) aktualisiert wird. Der Seitenaufbau sieht wie folgt aus:
Es gibt die Datei "aktuell.php", in die mittels der Datei "inc/ak_config.php" die Datei "wp.inc.php" geladen wird. Das Skript in "ak_config.php" sieht so aus:
<?php
$dateien = array(
"wp"=>array("inhalt"=>"wp.inc.php",
               "navigation"=>"../navig/nav_ak.inc"),
);
?>

Nun möchte ich die Aktualisierung wg. Urlaub für ein paar Wochen automatisieren. Die Dateien "wp15.inc.php", "wp16.inc.php", usw. sollen also am besten nach Datum geladen werden.
Wie kriege ich das hin? (Bin php-Anfänger!)

Gruß
Compiwurstel

  1. Hi Compiwurstel!

    Nun möchte ich die Aktualisierung wg. Urlaub für ein paar Wochen automatisieren. Die Dateien "wp15.inc.php", "wp16.inc.php", usw. sollen also am besten nach Datum geladen werden.
    Wie kriege ich das hin? (Bin php-Anfänger!)

    Anhand der date()-Funktion kannst du den Wochentag (w) und die Woche im Jahr (W) herausfinden. Dann setzt du einfach nur noch die gewünschte include-Datei ein.

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    1. Anhand der date()-Funktion kannst du den Wochentag (w) und die Woche im Jahr (W) herausfinden. Dann setzt du einfach nur noch die gewünschte include-Datei ein.

      Hallo Hopsel,
      danke für die Antwort. Das mit der date()-Funktion klingt gut, ich hab allerdings keinerlei Erfahrung. Ich nehme an, ich muss die Funktion in die "ak_config.php" einbinden, damit die entsprechende include-Datei geladen wird, weiß aber nicht, wie ich das machen soll!

      Gruß Compiwurstel

      1. Hi Compiwurstel!

        danke für die Antwort. Das mit der date()-Funktion klingt gut, ich hab allerdings keinerlei Erfahrung. Ich nehme an, ich muss die Funktion in die "ak_config.php" einbinden, damit die entsprechende include-Datei geladen wird, weiß aber nicht, wie ich das machen soll!

        Kennst du dich mit PHP aus?
        Du musst eigentlich nur abfragen, ob es schon Freitag ist und in welcher Woche man sich befindet.

        Wenn für jeden Freitag für die jeweils kommende Woche eine neue Datei eingebunden werden soll, dann kannst du das so tun:

        if (date('w') < 5)         // Montag bis Donnerstag,  
           $woche = date('W');     // also wird der Terminplan für die  
                                   // laufende Woche eingebunden  
        else  
           $woche = date('W') + 1; // Freitag bis Sonntag wird der  
                                   // Terminplan für die folgende Woche eingebunden  
        include 'wp'.$woche.'.inc.php';
        

        Wie der Code in deinen Quelltext passt, weißt du hoffentlich selbst.

        MfG H☼psel

        --
        "It's amazing I won. I was running against peace, prosperity, and incumbency."
        George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
        Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
        1. Hallo Hopsel,
          vielen Dank für deine Hilfe.

          Wie der Code in deinen Quelltext passt, weißt du hoffentlich selbst.

          Ja, wie ich den Code einbinde, weiß ich. Für die laufende Woche funktioniert es auch, da ich aber leider die Uhr des Servers nicht vorstellen kann, kann ich auch nicht überprüfen, ob es in den nächsten Wochen auch funktioniert. Deshalb noch mal eine Rückfrage (wie gesagt, ich bin php-Anfänger!):
          Verstehe ich das richtig, dass das Skript die jeweilige Kalenderwoche ('W') ausliest und über die date('w')-Abfrage der Datei-Wechsel initiiert wird und mit else usw. die Zeit bis zur nächsten Kalenderwoche überbrückt wird?
          Wenn ich das so richtig kapiert habe, dann bin ich echt beeindruckt davon, wie einfach bestimmte Dinge mit php gehen, die ich früher immer mit relativ aufwendigen JS erledigt habe.

          Also vielen Dank noch mal
          und alles Gute
          Compiwurstel

          1. hi,

            Ja, wie ich den Code einbinde, weiß ich. Für die laufende Woche funktioniert es auch, da ich aber leider die Uhr des Servers nicht vorstellen kann, kann ich auch nicht überprüfen, ob es in den nächsten Wochen auch funktioniert.

            Du kannst date auch einen Timestamp als zweiten Parameter übergeben, der in der Zukunft liegt.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Hallo Wahsaga,

              Du kannst date auch einen Timestamp als zweiten Parameter übergeben, der in der Zukunft liegt.

              Ich dachte mir schon, dass es da eine Möglichkeit gibt, wenngleich ich mit Deinem Hinweis leider nicht viel anfangen kann, weil ich nicht weiß, wie er umzusetzen wäre (s.o.). Aber da ja morgen Freitag ist, werde ich hoffentlich erleben, ob es funktioniert ;-)

              Viele Grüße
              Compiwurstel

              1. Hi Compiwurstel!

                Ich dachte mir schon, dass es da eine Möglichkeit gibt, wenngleich ich mit Deinem Hinweis leider nicht viel anfangen kann, weil ich nicht weiß, wie er umzusetzen wäre (s.o.).

                Dafür kannst du die Funktion strtotime() benutzen. Sie gibt einen Timestamp zurück, den du in die date()-Funktion einsetzen kannst.

                MfG H☼psel

                --
                "It's amazing I won. I was running against peace, prosperity, and incumbency."
                George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
                Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
                1. Hallo Hopsel,
                  vielen Dank für den Tipp. Das Problem ist "der Einbau". Ich hab mir jetzt anders geholfen: Heute ist ja Freitag, also der erste "Zeitsprung" und der hat schon mal - dank deiner Hilfe - funktioniert. Dann habe ich einfach den Wert weiter erhöht ("$woche = date('W') + 2;" usw.). Da auch das funktioniert hat, gehe ich davon aus, dass alles prima laufen wird.
                  Also, noch mal: ganz herzlichen Dank und Gruß
                  Compiwurstel