Stephan: XML - FTP Push

Folgende Frage hatte ich schonmal gestellt, kam aber nicht weiter
-----------------------------------------------------------

Hallo,

ich habe von einem Nachrichtenlieferanten einen ftp-Zugang bekommen, auf welchem Nachrichte als XML-Daten liegen.

Jede Nachricht ist eine XML-Datei.

Nun möchte ich die News auf meine Website einbauen, habe aber leider keine Ahnung wie?!!

Bei normalen RSS-Feeds die es auf jeder Seite gibt nehm ich Magpie-RSS um die RSS-Urls für Headlines einzubinden und in Form zu bringen.

Nur bei der Sache mit den FTP-XML-News
verhält sich die Sache ja ganz anders, es gibt keine feste URL.

Wie geht man vor? Gibt es fertige Tools oder Codeschnipsel in der Art von Magpie-RSS??

Vielen Dank im Voraus für eure Hilfe.

Gruß
Stephan

---------------------------------------------------------------------
Folgende Antowrt habe ich erhalten:
---------------------------------------------------------------------

Die folgende Nachricht zum Thema stammt von: André Laugks, 28. 11. 2006, 13:27

Hallo!

Nur bei der Sache mit den FTP-XML-News
verhält sich die Sache ja ganz anders, es gibt keine feste URL.

Das ist relativ einfach. Du hast ja die Zugangsdaten für den FTP-Server. Du schreibst oder suchst Dir ein Script, in Deiner bevorzugen Programmiersprache, welches sich automatisch auf den FTP-Server einloggt und die Daten auf Deinen Server holt.

Wenn die XML-Dateien auf Deinem Server liegen, liest Du Sie aus und zeigst die Daten an.

Ich mache das so bei Wetterdaten. Ich hole die Daten über die FTP-Klasse von PEAR ab und lege die Dateien auf den lokalen Server ab. Dann parst ein Script die XML-Dateien und packt die Daten in die Datenbank. Das ganze läuft alle sechs Stunden über ein Cronjob.

---------------------------------------------------------------------

Die Antwort kann ich von der Logik nachvollziehen, leider bin ich kein Programmierer und komme über googlen auch nicht weiter.
Kann mir jemand vielleicht noch etwas konkreter Helfen oder ein php-Tool empfehlen?

Vielen Dank allen,
Gruss
Stephan

  1. Hallo Stephan,

    ich habe von einem Nachrichtenlieferanten einen ftp-Zugang bekommen, auf welchem Nachrichte als XML-Daten liegen.
    Jede Nachricht ist eine XML-Datei.

    Nun möchte ich die News auf meine Website einbauen, habe aber leider keine Ahnung wie?!!

    Du hast doch eine wunderbare vollständige Antwort erhalten.

    André Laugks: Das ist relativ einfach. Du hast ja die Zugangsdaten für den FTP-Server. Du schreibst oder suchst Dir ein Script, in Deiner bevorzugen Programmiersprache, welches sich automatisch auf den FTP-Server einloggt und die Daten auf Deinen Server holt. Wenn die XML-Dateien auf Deinem Server liegen, liest Du Sie aus und zeigst die Daten an.

    und sogar verstanden.

    Die Antwort kann ich von der Logik nachvollziehen, leider bin ich kein Programmierer und komme über googlen auch nicht weiter.

    Was heißt hier googeln? Nachfragen! Und zwar konkret:

    Was hast Du versucht?
    Wieweit bist Du gekommen?
    Was funktioniert bereits?
    Wo bist Du hängengeblieben?

    Naja, schauen wir mal weiter:

    Nur bei der Sache mit den FTP-XML-News
    verhält sich die Sache ja ganz anders, es gibt keine feste URL.

    Aber selbstverständlich haben diese eine feste URL:

    ftp://example.org/path/to/xml/file

    Ah ja, kein RSS-Feed. Nein, ganz normales uraltes FTP. Uralt, bewährt.

    Wie geht man vor? Gibt es fertige Tools oder Codeschnipsel in der Art von Magpie-RSS??

    Andre: "in Deiner bevorzugten Programmiersprache"
    Was ist Deine bevorzugte Programmiersprache?

    Kann mir jemand vielleicht noch etwas konkreter Helfen oder ein php-Tool empfehlen?

    Ist also PHP Deine bevorzugte Programmiersprache?

    Schritt 1: Hole die Daten (Eingabe)

    Du schreibst oder suchst Dir ein Script, in Deiner bevorzugen Programmiersprache, welches sich automatisch auf den FTP-Server einloggt und die Daten auf Deinen Server holt.

    Ah ja, das ist überhaupt gar kein Problem: das geht sogar mit Kommandozeilen-FTP wunderbar. Was ist Deine bevorzugte Programmiersprache? PHP?

    Da gibt es ein Kapitel Zugriff auf entfernte Dateien. Du brauchst Dich noch nicht einmal groß um das FTP-Protokoll zu kümmern. Greife auf die Dateien zu, als seien sie lokal.

    Schritt 2: Verarbeite die Daten (Verarbeitung)

    Wenn die XML-Dateien auf Deinem Server liegen, liest Du Sie aus
    Dazu kannst Du je nach Sprache XML-Bibliotheken verwenden. Ach ja, was war nochmals Deine bevorzugte Programmiersprache? PHP?

    Durchsuche bitte das Inhaltsverzeichnis des PHP-Handbuchs nach XML (Benutze die Suchfunktion Deines Browsers). Schau Dir die Funktionen an. Recherchiere hier im Archiv, was empfehlenswert ist. Zeige Initiative!

    Schritt 3: Gebe die Daten aus

    und zeigst die Daten an. (Ausgabe)
    Und auch dafür bieten Programmiersprachen Bibliotheken an ...

    noch ein Uraltprinzip: EVA: Eingabe -> Verarbeitung -> Ausgabe

    Weiterhin empfehle ich Dir die Lektüre des Wikipedia-Artikels zu FTP, damit Du das Protokoll, mit dem Du arbeiten willst (musst) etwas besser verstehst.

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz,

      danke für die ausführliche Antwort.

      Was hast Du versucht?

      Ich habe versucht, ein php script zu finden, welches mir die xml Daten vom fremden Server auf meinen Server holt.
      Das einzige was ich gefunden habe, war ein Script, welches sich einloggt und mir den "Verzeichnisbaum" des fremden Servers anzeigt.

      Wieweit bist Du gekommen?

      Siehe oben.

      Was funktioniert bereits?

      Nichts.

      Wo bist Du hängengeblieben?

      Dabei, dass das Script nicht das macht was ich brauche.

      Ist also PHP Deine bevorzugte Programmiersprache

      Sagen wir mal so, ich kann PHP Scripte einbinden und evtl. ein wenig bearbeiten (nachvollziehen und verstehen), aber ich kann NICHT programmieren bzw. entwickeln. Daher wäre es vermessen zu behaupten, PHP wäre meine bevorzugte Sprache.
      Ich kann html und css programmieren, aber das hilft mir nicht weiter glaub ich;-)

      Zeige Initiative

      Bleibt mir wohl keine Wahl, muss ich das Rad für mich wohl neu erfinden;-)

      Wenn ich was hinbekommen sollte, werde ich es hier posten, wenn nicht, melde ich mich auch nochmal;-)

      Grüße,
      Stephan

      1. Hallo

        Was hast Du versucht?
        Ich habe versucht, ein php script zu finden, welches mir die xml Daten vom fremden Server auf meinen Server holt.
        Das einzige was ich gefunden habe, war ein Script, welches sich einloggt und mir den "Verzeichnisbaum" des fremden Servers anzeigt.

        Das ist doch schon einmal ein Start. Wenn Du Dir merkst, welche Dateien Du bereits verarbeitet hast (z.B. über Zeiten, oder indem Du erfolgreich verarbeitete Dateien verschiebst oder umbenennst oder was auch immer ...), dann bleiben noch die neuen Dateien übrig.

        Wieweit bist Du gekommen?
        Siehe oben.

        Was funktioniert bereits?
        Nichts.

        Aha, hast Du schon einmal versucht, eine der Dateien aus der Verzeichnisliste zu lesen und unverändert wieder auszugeben? Dazu könntest Du die Funktion file_get_contents verwenden.

        Wo bist Du hängengeblieben?
        Dabei, dass das Script nicht das macht was ich brauche.

        Erwartest Du, ein Skript zu finden, dass genau auf Deinen Anwendungsfall zugeschnitten ist?

        Ist also PHP Deine bevorzugte Programmiersprache
        Sagen wir mal so, ich kann PHP Scripte einbinden und evtl. ein wenig bearbeiten (nachvollziehen und verstehen), aber ich kann NICHT programmieren bzw. entwickeln. Daher wäre es vermessen zu behaupten, PHP wäre meine bevorzugte Sprache.

        Wenn Du Resultate erwartest - und kein fertiges Skript findest, dann bleiben Dir verschiedene Möglichkeiten. Eine wäre, Programmieren zu lernen. Wenn Du das willst, dann bist Du hier richtig. Dann kannst Du hier mit Hilfe rechnen.

        Eine andere wäre, dass jemand anderes Dir ein Skript nach Deinen Anforderungen schreibt. Das wird Dich wahrscheinlich etwas kosten.

        Zeige Initiative
        Bleibt mir wohl keine Wahl, muss ich das Rad für mich wohl neu erfinden;-)

        Deine Anwendung ist kein Rad, das es neu zu erfinden gilt. Es ist schon etwas komplexeres - und Du kannst dazu bereits fertige Räder (Bibliotheken) verwenden. Die Verbindung zwischen den Rädern musst Du schon noch selbst herstellen.

        Freundliche Grüße

        Vinzenz