Jogi: Angebote bei ALDI

Hallo!

Bei Aldi Süd kann man unter Aktuelle Angebote die Aktionsartikel der kommenden beiden Angebotstage (Montag und Donnerstag) abrufen. Ich würde gern auf bequeme Weise weiter zurückblättern können. In der URL einer gültigen Angebotsseite stecken das Wochentagskürzel ("mo" oder "do"), der Tag des Monats sowie die Kalenderwoche gefolgt vom Jahr (zweistellig).

Beispiel für Angebote ab Donnerstag, 28.06.2012, KW 26:
http://www.aldi-sued.de/de/html/offers/angebote_ab_do-28kw2612.htm

Zurückzurechnen und die URL entsprechend zu manipulieren ist grundsätzlich kein Problem. Ist ein Montag oder Donnerstag allerdings ein Feiertag, landet man bei Abruf der entsprechenden URL auf einer Fehlerseite (HTTP-Statuscode 404). Handelt es sich bei dem Feiertag um einen Montag, sind die Angebote in der Regel auf den darauffolgenden Dienstag datiert (sofern dieser nicht auch ein Feiertag war), handelt es sich bei dem Feiertag um einen Donnerstag, wird auf den vorangehenden Mittwoch ausgewichen (sofern dieser nicht auch ein Feiertag war).

Meine Fragen:

Kann man den HTTP-Statuscode 404 erkennen, um anhand dessen (in Abhängigkeit vom jeweiligen Wochentag) vor- oder zurückzurechnen?

Wie würdet ihr das Ganze realisieren? Ich dachte an ein zweigliedriges Frameset, bestehend aus einem schmalen Frame am oberen Rand, wo vor- und zurücknavigiert werden kann und einem großen Frame darunter, in dem die Aldi-Seite dargestellt wird. Das ist nicht schön, ich weiß. Geht es eleganter?

Vielen Dank für eure Hilfe!

Jogi

  1. Hi,

    Geht es eleganter?

    Aldi-Newsletter abonnieren, und in deinen empfangenen (und nach Absender o.ä. gefilterten) Emails blättern …?

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Aldi-Newsletter abonnieren, und in deinen empfangenen (und nach Absender o.ä. gefilterten) Emails blättern …?

      Danke für deine schnelle Antwort. Das wäre zwar auch eine Option, aber nicht ganz das, was ich mir vorgestellt hatte. ;-)

    2. Moin!

      Aldi-Newsletter abonnieren, und in deinen empfangenen (und nach Absender o.ä. gefilterten) Emails blättern …?

      Damit kann man aber keine Pornoseiten spidern... ;) *duckundweg*

      --
      Signaturen sind blöd!
      1. Damit kann man aber keine Pornoseiten spidern... ;) *duckundweg*

        Das will hier ja auch niemand.

  2. Moin!

    Du willst mit php nen bot bauen? Eigentlich kein Problem. Welche php version nutzt Du? Ab 5.3 steht Dir der php Stream Wrapper zur Verfügung (ungetestet):

    $file = fopen( 'http://example.com');
    var_dump( stream_get_meta_data( $file ) );

    Falls nicht könnte ich nur eine Möglichkeit liefern, die das php Modul cURL vorraussetzt.

    --
    Signaturen sind blöd!
    1. Du willst mit php nen bot bauen?

      Will ich das? Keine Ahnung.

      Welche php version nutzt Du?

      PHP 5.3 ist kein Problem.

      Ab 5.3 steht Dir der php Stream Wrapper zur Verfügung (ungetestet):

      $file = fopen( 'http://example.com');
      var_dump( stream_get_meta_data( $file ) );

      Das sagt mir im Zusammenhang mit meinem Vorhaben nichts.

      1. Moin!

        Du willst mit php nen bot bauen?

        Will ich das? Keine Ahnung.

        Du hast php als Thema genommen. Du hast beschrieben wie du mehr oder weniger automatisierst Webinhalte aufrufen möchtest. Ja. Ich würde das so sagen.

        Welche php version nutzt Du?

        PHP 5.3 ist kein Problem.

        Ab 5.3 steht Dir der php Stream Wrapper zur Verfügung (ungetestet):

        $file = fopen( 'http://example.com');
        var_dump( stream_get_meta_data( $file ) );

        Das sagt mir im Zusammenhang mit meinem Vorhaben nichts.

        Naja. Wenn Du php nutzen willst, solltest Du die Zeilen als php-code erkennen und ne Idee haben, was damit anzufangen ist.

        Falls nicht, und du php nur mehr oder weniger zufällig als Thema gewählt hast, Kann ich Dir leider nicht weiterhelfen. Nur mit browsereigenen Mitteln geht das nicht, soweit ich weiß. Es gibt zwar reichlich Addons für Firefox aber die kommunizieren soweit ich weiß nicht. Mit Javascript kannst Du nicht auf andere Domains zugreifen.

        Da würde ich auch etwas bauen, wie von Dir beschrieben. Einen (i)Frame mit Navigationsleiste. Die kann natürlich so komplex sein, wie du willst. Auf die Inhalte des Frames wirst du aber nicht zugreifen können.

        --
        Signaturen sind blöd!
        1. Du hast php als Thema genommen. Du hast beschrieben wie du mehr oder weniger automatisierst Webinhalte aufrufen möchtest. Ja. Ich würde das so sagen.

          Ok, dann will ich das. :-)

          Naja. Wenn Du php nutzen willst, solltest Du die Zeilen als php-code erkennen und ne Idee haben, was damit anzufangen ist.

          Erkannt habe ich sie, was damit nun konkret anzufangen ist, weiß ich bisher noch nicht.

          Falls nicht, und du php nur mehr oder weniger zufällig als Thema gewählt hast, Kann ich Dir leider nicht weiterhelfen.

          Nein, PHP habe ich schon ganz bewusst gewählt.

          Da würde ich auch etwas bauen, wie von Dir beschrieben. Einen (i)Frame mit Navigationsleiste.

          Bietet ein iFrame Vorteile gegenüber einem Frameset?

          Die kann natürlich so komplex sein, wie du willst. Auf die Inhalte des Frames wirst du aber nicht zugreifen können.

          Das muss ja auch nicht sein.

          Wie steht es denn mit dem Auslesen des HTTP-Statuscodes?

          1. Hast du meinen Code mit einer Aldi URL ausgestattet mal unter php 5.3 laufen lassen?

            --
            Signaturen sind blöd!
            1. Hast du meinen Code mit einer Aldi URL ausgestattet mal unter php 5.3 laufen lassen?

              Ja, läuft so nicht. So aber:

              <?php  
              $url = 'http://www.example.com/';  
              $file = fopen($url, 'r');  
              var_dump(stream_get_meta_data($file));  
              ?>
              

              Danke. Hat das einen Vorteil gegenüber get_headers?

            2. Da würde ich auch etwas bauen, wie von Dir beschrieben. Einen (i)Frame mit Navigationsleiste.

              Bietet ein iFrame Vorteile gegenüber einem Frameset?

  3. Hi,

    Bei Aldi Süd kann man unter Aktuelle Angebote die Aktionsartikel der kommenden beiden Angebotstage (Montag und Donnerstag) abrufen. Ich würde gern auf bequeme Weise weiter zurückblättern können. In der URL einer gültigen Angebotsseite stecken das Wochentagskürzel ("mo" oder "do"), der Tag des Monats sowie die Kalenderwoche gefolgt vom Jahr (zweistellig).

    ja, seit einiger Zeit ist das so. Früher waren die Montags- und Donnerstagsangebote jeweils unter einer immer gleichbleibenden URL erreichbar. Da konnte man zwar nicht mehr "zurückblättern", dafür aber ein Bookmark setzen, das immer passte. Das geht mit der aktuellen Struktur leider nicht mehr.

    Zurückzurechnen und die URL entsprechend zu manipulieren ist grundsätzlich kein Problem.

    Eben. Also wo liegt dein Problem?

    Ist ein Montag oder Donnerstag allerdings ein Feiertag, landet man bei Abruf der entsprechenden URL auf einer Fehlerseite (HTTP-Statuscode 404). Handelt es sich bei dem Feiertag um einen Montag, sind die Angebote in der Regel auf den darauffolgenden Dienstag datiert (sofern dieser nicht auch ein Feiertag war), handelt es sich bei dem Feiertag um einen Donnerstag, wird auf den vorangehenden Mittwoch ausgewichen (sofern dieser nicht auch ein Feiertag war).

    Ja. Also sind dir die Regeln doch bekannt. Also wo liegt dein Problem?

    Kann man den HTTP-Statuscode 404 erkennen, um anhand dessen (in Abhängigkeit vom jeweiligen Wochentag) vor- oder zurückzurechnen?

    Klar: GET- oder HEAD-Request auf die vermutete Ressource absetzen, Response-Header (vor allem erst mal "Status") auswerten. Oder gleich prüfen, ob das jeweilige Datum ein Feiertag ist, und sofort in vorauseilendem Gehorsam die URL nach dem bekannten Prinzip korrigieren.

    Wie würdet ihr das Ganze realisieren? Ich dachte an ein zweigliedriges Frameset, bestehend aus einem schmalen Frame am oberen Rand, wo vor- und zurücknavigiert werden kann und einem großen Frame darunter, in dem die Aldi-Seite dargestellt wird. Das ist nicht schön, ich weiß. Geht es eleganter?

    Ich frage mich gerade: Wozu? Sicher, manchmal interessiert mich schon, nochmal die Angebote der Vorwoche anzuschauen. Aber so selten, wie das vorkommt, lohnt es sich IMO nicht, dafür extra ein Script zu bauen.
    Ich weiß auch gar nicht, wie lange ALDI die Angebotsseiten online stehenlässt. Ich vermute, dass die nach wenigen Wochen doch wieder eingezogen werden. Noch ein Punkt, der dein Vorhaben zumindest fragwürdig erscheinen lässt.

    Ciao,
     Martin

    --
    Keine Sorge, wir finden für jede Lösung ein Problem.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. ja, seit einiger Zeit ist das so. Früher waren die Montags- und Donnerstagsangebote jeweils unter einer immer gleichbleibenden URL erreichbar. Da konnte man zwar nicht mehr "zurückblättern", dafür aber ein Bookmark setzen, das immer passte. Das geht mit der aktuellen Struktur leider nicht mehr.

      Das hat Vor- und Nachteile.

      Eben. Also wo liegt dein Problem?
      Ja. Also sind dir die Regeln doch bekannt. Also wo liegt dein Problem?

      Das habe ich doch im Anschluss beschrieben.

      Klar: GET- oder HEAD-Request auf die vermutete Ressource absetzen, Response-Header (vor allem erst mal "Status") auswerten.

      Und wie?

      Oder gleich prüfen, ob das jeweilige Datum ein Feiertag ist, und sofort in vorauseilendem Gehorsam die URL nach dem bekannten Prinzip korrigieren.

      Wie denn?

      Ich frage mich gerade: Wozu? Sicher, manchmal interessiert mich schon, nochmal die Angebote der Vorwoche anzuschauen. Aber so selten, wie das vorkommt, lohnt es sich IMO nicht, dafür extra ein Script zu bauen.

      Warum wird hier immer alles in Frage gestellt und verrissen? Wenn es sich für dich nicht lohnt, brauchst du dir ja kein solches Skript zu schreiben.

      Ich weiß auch gar nicht, wie lange ALDI die Angebotsseiten online stehenlässt. Ich vermute, dass die nach wenigen Wochen doch wieder eingezogen werden. Noch ein Punkt, der dein Vorhaben zumindest fragwürdig erscheinen lässt.

      Vielleicht reicht es mir ja, ein paar Wochen (derzeit sind es etwa 12) zurückblättern zu können.

      1. Hallo,

        ja, seit einiger Zeit ist das so. Früher waren die Montags- und Donnerstagsangebote jeweils unter einer immer gleichbleibenden URL erreichbar. Da konnte man zwar nicht mehr "zurückblättern", dafür aber ein Bookmark setzen, das immer passte. Das geht mit der aktuellen Struktur leider nicht mehr.
        Das hat Vor- und Nachteile.

        ja, stimmt. Ich empfand es damals als Nachteil, weil meine Bookmarks plötzlich wertlos waren. Das Zurückgehen in die Vergangenheit kann natürlich ein Vorteil sein.

        Eben. Also wo liegt dein Problem?
        Ja. Also sind dir die Regeln doch bekannt. Also wo liegt dein Problem?
        Das habe ich doch im Anschluss beschrieben.

        Hast du nicht. Du hast in Worten genau beschrieben, was zu tun ist, also ist es dir im Prinzip klar.

        Klar: GET- oder HEAD-Request auf die vermutete Ressource absetzen, Response-Header (vor allem erst mal "Status") auswerten.
        Und wie?

        fsockopen() auf Port 80, mit fwrite() Request senden, mit fread() Response empfangen, Zeile für Zeile auswerten. Oder file_get_contents() auf die gewünschte Ressource, und bei Fehler stur von einem HTTP-Status 404 ausgehen.

        Oder gleich prüfen, ob das jeweilige Datum ein Feiertag ist, und sofort in vorauseilendem Gehorsam die URL nach dem bekannten Prinzip korrigieren.
        Wie denn?

        Es gibt ein paar feste Feiertage (also fest an ein Datum gekoppelt), die kann man in eine Tabelle packen. Und es gibt die diversen kirchlichen Feiertage, die sich am Osterdatum orientieren. Das Osterdatum kann man wahrscheinlich auch aus irgendwelchen Tabellen über Jahre hinweg ablesen; für Hartgesottene kann man's auch über den astronomischen Ansatz selbst berechnen. Ephemeridenrechnung ist was Spannendes. ;-)

        Ich frage mich gerade: Wozu?
        Warum wird hier immer alles in Frage gestellt und verrissen?

        Wieso "hier"? Ich würde überall so kritisch zurückfragen.

        Ciao,
         Martin

        --
        Programmierer (m), seltener auch P~in (w):
        Irdische, i.a. humanoide Lebensform, die in einem komplizierten biochemischen Prozess Kaffee, Cola und Pizza in maschinenlesbaren Programmcode umwandelt.
        P~ bilden gelegentlich mit ihresgleichen kleine Gruppen, sogenannte Communities, sind aber ansonsten meist scheue Einzelgänger.
        P~ sind vorwiegend nachtaktiv und ohne technische Hilfsmittel nur eingeschränkt lebensfähig.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. ja, stimmt. Ich empfand es damals als Nachteil, weil meine Bookmarks plötzlich wertlos waren. Das Zurückgehen in die Vergangenheit kann natürlich ein Vorteil sein.

          Eben.

          Hast du nicht. Du hast in Worten genau beschrieben, was zu tun ist, also ist es dir im Prinzip klar.

          Das Auslesen des HTTP-Statuscodes war mein Problem. Das habe ich nun mit get_headers gelöst.

          Zudem hat mich interessiert, ob hier jemand eine bessere Idee hat, als das Ganze mit Frames zu realisieren.

          fsockopen() auf Port 80, mit fwrite() Request senden, mit fread() Response empfangen, Zeile für Zeile auswerten. Oder file_get_contents() auf die gewünschte Ressource, und bei Fehler stur von einem HTTP-Status 404 ausgehen.

          Warum so umständlich?

          Es gibt ein paar feste Feiertage (also fest an ein Datum gekoppelt), die kann man in eine Tabelle packen. Und es gibt die diversen kirchlichen Feiertage, die sich am Osterdatum orientieren. Das Osterdatum kann man wahrscheinlich auch aus irgendwelchen Tabellen über Jahre hinweg ablesen; für Hartgesottene kann man's auch über den astronomischen Ansatz selbst berechnen. Ephemeridenrechnung ist was Spannendes. ;-)

          Der Aufwand wäre dann wohl doch etwas hoch.

          Wieso "hier"? Ich würde überall so kritisch zurückfragen.

          Aber du bist nicht überall anzutreffen. ;-)

          1. Hi,

            fsockopen() auf Port 80, mit fwrite() Request senden, mit fread() Response empfangen, Zeile für Zeile auswerten. Oder file_get_contents() auf die gewünschte Ressource, und bei Fehler stur von einem HTTP-Status 404 ausgehen.
            Warum so umständlich?

            warum nicht? Geht's *noch* einfacher?

            Es gibt ein paar feste Feiertage (also fest an ein Datum gekoppelt), die kann man in eine Tabelle packen. Und es gibt die diversen kirchlichen Feiertage, die sich am Osterdatum orientieren. Das Osterdatum kann man wahrscheinlich auch aus irgendwelchen Tabellen über Jahre hinweg ablesen; für Hartgesottene kann man's auch über den astronomischen Ansatz selbst berechnen. Ephemeridenrechnung ist was Spannendes. ;-)
            Der Aufwand wäre dann wohl doch etwas hoch.

            So schlimm ist es auch wieder nicht - zumal PHP das Osterdatum direkt über die Funktion easter_date() zur Verfügung stellt. Und die Berechnung des 1. Advent ist ein Einzeiler - der erste Sonntag ab dem 26.11. ist der 1. Advent.

            Wieso "hier"? Ich würde überall so kritisch zurückfragen.
            Aber du bist nicht überall anzutreffen. ;-)

            Nee. Wäre ja auch schrecklich!

            So long,
             Martin

            --
            Auch mit eckigen Radios kann man Rundfunk hören.
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. warum nicht? Geht's *noch* einfacher?

              Ja, mit get_headers.

              So schlimm ist es auch wieder nicht - zumal PHP das Osterdatum direkt über die Funktion easter_date() zur Verfügung stellt. Und die Berechnung des 1. Advent ist ein Einzeiler - der erste Sonntag ab dem 26.11. ist der 1. Advent.

              Stimmt eigentlich.

              1. Hi,

                warum nicht? Geht's *noch* einfacher?
                Ja, mit get_headers.

                aber das bedeutet ja, du musst zweimal anfragen. Einmal um die Header zu bekommen, und dann nochmal, um den Inhalt zu kriegen. Dann doch lieber alles in einem Aufwasch.

                Ciao,
                 Martin

                --
                Finanztipp:
                Leihen Sie sich Geld von einem Pessimisten.
                Er rechnet sowieso nicht damit, dass er es zurückbekommt.
                Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                1. aber das bedeutet ja, du musst zweimal anfragen. Einmal um die Header zu bekommen, und dann nochmal, um den Inhalt zu kriegen. Dann doch lieber alles in einem Aufwasch.

                  Wieso zweimal?

                  <?php  
                  $url = 'http://www.example.com/';  
                  $headers = get_headers($url);  
                  $status = $headers[0];  
                  ?>
                  
                  1. Hallo,

                    aber das bedeutet ja, du musst zweimal anfragen. Einmal um die Header zu bekommen, und dann nochmal, um den Inhalt zu kriegen. Dann doch lieber alles in einem Aufwasch.
                    Wieso zweimal?

                    wieso nicht?

                    <?php

                    $url = 'http://www.example.com/';
                    $headers = get_headers($url);
                    $status = $headers[0];
                    ?>

                      
                    Schön. Jetzt hast du die Header. Und nun stellst du fest: Prima, Status 200. Also alles okay.  
                    Und jetzt musst du ein zweites Mal los, um den eigentlichen Inhalt abzurufen. Das meinte ich mit "zweimal".  
                      
                    So long,  
                     Martin  
                    
                    -- 
                    Eine Nonne kommt in den Himmel. An der Pforte fragt Petrus: "Wer bist du?" - "Ich bin die Braut Jesu." Petrus stutzt einen Moment, ruft dann nach hinten: "He Freunde, habt ihr schon gehört? Der Juniorchef will heiraten!"  
                    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                    
                    1. Schön. Jetzt hast du die Header. Und nun stellst du fest: Prima, Status 200. Also alles okay.
                      Und jetzt musst du ein zweites Mal los, um den eigentlichen Inhalt abzurufen. Das meinte ich mit "zweimal".

                      Ach so.

                    2. Schön. Jetzt hast du die Header. Und nun stellst du fest: Prima, Status 200. Also alles okay.
                      Und jetzt musst du ein zweites Mal los, um den eigentlichen Inhalt abzurufen. Das meinte ich mit "zweimal".

                      Ehrlich gesagt verstehe ich das immer noch nicht. Wofür muss ich ein zweites Mal los? Es reicht mir doch zu wissen, ob die Seite existiert. Existiert sie, zeige ich sie im (i)Frame an, existiert sie nicht, geht's weiter.

                      1. Hallo,

                        Schön. Jetzt hast du die Header. Und nun stellst du fest: Prima, Status 200. Also alles okay.
                        Und jetzt musst du ein zweites Mal los, um den eigentlichen Inhalt abzurufen. Das meinte ich mit "zweimal".
                        Ehrlich gesagt verstehe ich das immer noch nicht. Wofür muss ich ein zweites Mal los? Es reicht mir doch zu wissen, ob die Seite existiert.

                        mir nicht, ich will sie dann auch auslesen und an den Client ausgeben.

                        Existiert sie, zeige ich sie im (i)Frame an, existiert sie nicht, geht's weiter.

                        Oh, in einem Frame - daran hatte ich nun gar nicht gedacht, weil ich Frames weitgehend aus meinem Erfahrungsschatz gestrichen habe. Okay, dann ist es halt der Browser selbst, der den zweiten Request stellt.
                        Ändert aber nichts am Prinzip: Ich klingle bei Herrn Meier an der Tür. Wenn er nicht öffnet, ziehe ich unverrichteter Dinge wieder ab; macht er aber die Tür auf, sage ich schnell, "Ach, nichts" - und dann rufe ich meinen Kameraden an und teile ihm mit, "Du, der Meier ist zuhause, kannst ihn besuchen kommen."

                        Hältst du es da nicht auch für sinnvoller, beides zu kombinieren, als ihn zweimal aufzuschrecken?

                        Ciao,
                         Martin

                        --
                        Die letzten Worte des Architekten:
                        Mir fällt da gerade was ein...
                        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                        1. Oh, in einem Frame - daran hatte ich nun gar nicht gedacht, weil ich Frames weitgehend aus meinem Erfahrungsschatz gestrichen habe.

                          Ist ja auch in Ordnung, aber in diesem Fall kann ich wohl schwer auf einen Frame verzichten, oder doch?

                          Okay, dann ist es halt der Browser selbst, der den zweiten Request stellt.

                          Genau.

                          Ändert aber nichts am Prinzip: Ich klingle bei Herrn Meier an der Tür. Wenn er nicht öffnet, ziehe ich unverrichteter Dinge wieder ab; macht er aber die Tür auf, sage ich schnell, "Ach, nichts" - und dann rufe ich meinen Kameraden an und teile ihm mit, "Du, der Meier ist zuhause, kannst ihn besuchen kommen."

                          Danke für den guten Vergleich. :-)

                          Hältst du es da nicht auch für sinnvoller, beides zu kombinieren, als ihn zweimal aufzuschrecken?

                          Kommt drauf an, ob ich Herrn Meier mag. ;-)

        2. Hallo,

          Klar: GET- oder HEAD-Request auf die vermutete Ressource absetzen, Response-Header (vor allem erst mal "Status") auswerten.
          Und wie?

          fsockopen() auf Port 80, mit fwrite() Request senden, mit fread() Response empfangen, Zeile für Zeile auswerten. Oder file_get_contents() auf die gewünschte Ressource, und bei Fehler stur von einem HTTP-Status 404 ausgehen.

          wie's sinnvoller geht, hat Steel schon geschrieben: curl nutzen (wenn vorhanden).

          Oder gleich prüfen, ob das jeweilige Datum ein Feiertag ist, und sofort in vorauseilendem Gehorsam die URL nach dem bekannten Prinzip korrigieren.
          Wie denn?

          Es gibt ein paar feste Feiertage (also fest an ein Datum gekoppelt), die kann man in eine Tabelle packen. Und es gibt die diversen kirchlichen Feiertage, die sich am Osterdatum orientieren. Das Osterdatum kann man wahrscheinlich auch aus irgendwelchen Tabellen über Jahre hinweg ablesen; für Hartgesottene kann man's auch über den astronomischen Ansatz selbst berechnen. Ephemeridenrechnung ist was Spannendes. ;-)

          Der gute Carl Friedrich hat sich was Einfacheres einfallen lassen.

          Freundliche Grüße

          Vinzenz

          1. Hi,

            fsockopen() auf Port 80, mit fwrite() Request senden, mit fread() Response empfangen, Zeile für Zeile auswerten. Oder file_get_contents() auf die gewünschte Ressource, und bei Fehler stur von einem HTTP-Status 404 ausgehen.
            wie's sinnvoller geht, hat Steel schon geschrieben: curl nutzen (wenn vorhanden).

            ich persönlich finde die Methode über fsockopen(), fread() und fwrite() einfacher und intuitiver. Geschmackssache.

            Es gibt ein paar feste Feiertage (also fest an ein Datum gekoppelt), die kann man in eine Tabelle packen. Und es gibt die diversen kirchlichen Feiertage, die sich am Osterdatum orientieren. Das Osterdatum kann man wahrscheinlich auch aus irgendwelchen Tabellen über Jahre hinweg ablesen; für Hartgesottene kann man's auch über den astronomischen Ansatz selbst berechnen. Ephemeridenrechnung ist was Spannendes. ;-)
            Der gute Carl Friedrich hat sich was Einfacheres einfallen lassen.

            Ja, der war auch "a Käpsele". Die Entwickler von PHP machen es uns sogar noch einfacher.

            Ciao,
             Martin

            --
            Ordnung ist, wenn man etwas findet, was man gar nicht sucht.
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    2. ja, seit einiger Zeit ist das so. Früher waren die Montags- und Donnerstagsangebote jeweils unter einer immer gleichbleibenden URL erreichbar. Da konnte man zwar nicht mehr "zurückblättern", dafür aber ein Bookmark setzen, das immer passte. Das geht mit der aktuellen Struktur leider nicht mehr.

      Die Übersichtsseite dürfte nahezu denselben Zweck erfüllen.

      1. Hi,

        Früher waren die Montags- und Donnerstagsangebote jeweils unter einer immer gleichbleibenden URL erreichbar. Da konnte man zwar nicht mehr "zurückblättern", dafür aber ein Bookmark setzen, das immer passte. Das geht mit der aktuellen Struktur leider nicht mehr.
        Die Übersichtsseite dürfte nahezu denselben Zweck erfüllen.

        ja eben: Nur "nahezu". Es ist halt jeweils ein Klick mehr.

        Ciao,
         Martin

        --
        If you believe in telekinesis, raise my hand.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(