lyrie: Newsscript Serverübergreifend

Hi an alle!
Ich weiss zwar das dieses Thema in der letzten Zeit schon öfter besprochen worden ist aber da kam bei den Antworten immer "Probiers mit fsockopen() oder so zurück" und da ich nicht gerad der beste in PHP bin wollt ich fragen ob jemand ein Code beispiel posten kann, also ich möchte ein Newsscript auf meiner Homepage einbauen und will die in Arrays gespeicherten Daten auf einem anderen Sever speichern. Es ist auch möglich mit include() glaube ich, aber dann brächte ich einen weg die arrays zurückgeliefert zu bekommen und nicht etwas anderes.
Der server auf dem ich speichern will ist lycos.
Danke schon mal im voraus!

lyrie

  1. Hallo!

    Warum speicherst Du die Daten nicht im XML-Format auf dem Server und parst das dann mit den verschiedenen Clients? Das wäre hierfür geradezu prädestiniert, suche mal ein bisschen nach RDF und RSS!

    Schreibe die News in so eine XML-Datei: http://www.heise.de/newsticker/heise.rdf

    Und dann parst Du das gaze bei den Clients mit dem XML_RSS Package von PEAR: http://pear.php.net/manual/de/packages.xml.xml_rss.php

    Das funktioniert wunderbar! Das geht auch mit etwas komplexeren Daten, wie bei der Tagesschau: http://www3.tagesschau.de/xml/tagesschau-meldungen/

    Der Vorteil ist dass Du hier eine sehr genau definierte Schnittstelle verwendest, im Prinzip könntest Du irgendwann sogar PHP gegen irgendeine andere Sprache ersetzen und das ganze funktioniert immer noch wunderbar, ohne dass Du an allen möglichen Stellen Anpassungen vornehmen musst.

    Grüße
    Andreas

    1. Hi!
      Also erstens:

      Warum speicherst Du die Daten nicht im XML-Format auf dem Server und parst das dann mit den verschiedenen Clients?

      Wie geht das?

      Und zweitens:
      Ich möchte gerne das Newsscript in PHP machen, weil ich später die ganze Homepage in PHP schreiben will und es wäre gut das Newsscript gleich als grundlage nehmen zu können.

      lyrie

      1. Hi!

        Also erstens:

        Warum speicherst Du die Daten nicht im XML-Format auf dem Server und parst das dann mit den verschiedenen Clients?

        Wie geht das?

        Entweder Du machst das ganze von Hand, das heißt Du suchst Dir ne Vorlage, passt die "Grunddaten"(<title>...) an, und schreibst die einzelnden News manuell als <item> in die Datei.

        Oder Du schreibst Dir eine nette HTML-Oberfläche mit der Du die einzelnden News bearbeiten kannst.

        <?php
        $xml_header = '
        <?xml version="1.0"?>

        <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
                 xmlns="http://my.netscape.com/rdf/simple/0.9/">

        <channel>
         <title>FooBar Inc.</title>
         <link>http://example.com/</link>
         <description>abcd, xyz, 123</description>
        </channel>
        ';

        $xml_footer = '
        <textinput>
         <title>Search FooBar Inc.</title>
         <description>Search FooBar Inc. headlines</description>
         <name>q</name>
         <link>http://example.com/search.php</link>
        </textinput>

        </rdf:RDF>
        ';

        $xml_item = '
        <item>
         <title>'.$_POST['title'].'</title>
         <link>'.$_POST['link'].'</link>
         <description>'.$_POST['desc'].'</description>
        </item>
        ';

        $fp fopen ('datei.xml', 'w');
        fputs ($fp, $xml_header.$xml_item.$xml_footer);
        fclose ($fp);

        ?>

        So erzeugst Du eine ganz einfach XML-Datei "datei.xml", mit einer News, die entsprechenden Daten

        $_POST['title']
        $_POST['link']
        $_POST['desc']

        müssen halt aus einem Formular per POST-Request kommen.

        Du musst Dir nur überlegen wie man das jetzt mit mehreren News macht, entweder Du speicherst die News noch woanders(Datenbank...) und kannst die aktuellen news in einer Schleife auslesen und nacheinander zwischen header und footer schreiben, oder Du parst die XML Datei mit dem genannten PEAR-Modul und verwendest diesen Array um damit Daten in die neue News-Datei zu schreiben. Es gibt viele Wege, ich würde erstmal ein bisschen probieren.

        Wie das Parsen der so erzeugten Datei funktioniert findest Du ebenfalls unter dem oben genannten Link beschreiben. Hierzu musst Du das entsprechende PEAR-Package einbinden. Damit kanst Du dann ganz einfach nur mit Angabe der URL einen Array mit den News zurück erhalten.

        Grüße
        Andreas

        1. Hi
          Also ich danke dir ja sehr für deine Hilfe aber ich meinte eher soetwas wie fsockopen() oder dass mir irgendwer diesen Befehl erklärt. Ich habe nämlich ein fertiges Newsscript(PHP) und muss es nurnoch dazu umschreiben, auf eine auf einem anderen Server liegende Datei zuzugreifen.

          lyrie

          1. H!

            Also ich danke dir ja sehr für deine Hilfe aber ich meinte eher soetwas wie fsockopen() oder dass mir irgendwer diesen Befehl erklärt. Ich habe nämlich ein fertiges Newsscript(PHP) und muss es nurnoch dazu umschreiben, auf eine auf einem anderen Server liegende Datei zuzugreifen.

            Eine bessere Erklärung als auf http://de3.php.net/fsockopen kann ich Dir leider auch nicht bieten.

            Vielleicht helfen Dir die Kommentare da oder auch http://www.dclp-faq.de/search.php?l=20&q=fsockopen&x=0&y=0

            Grüße
            Andreas