Karl: XML-Format über PHP senden

Hallo zusammen

Wie kann ich mit PHP ein XML-formatierter Text an einen anderen Server senden?

Gruss
Karl

  1. echo $begrüßung;

    Wie kann ich mit PHP ein XML-formatierter Text an einen anderen Server senden?

    So wie alle anderen Daten auch.
    Du müsstest uns mindestens verraten, welches Protokoll du verwenden möchtest, oder deine Frage anderweitig präzisieren.

    echo "$verabschiedung $name";

    1. Mit dem HTTP-Protokoll.
      HTML-Formulardaten kann ich ja einfach über den Submit-Knopf abschicken, aber was mache ich da mit Date4n im XML-Format?

      1. echo $begrüßung;

        Mit dem HTTP-Protokoll.
        HTML-Formulardaten kann ich ja einfach über den Submit-Knopf abschicken, aber was mache ich da mit Date4n im XML-Format?

        HTTP bietet die Möglichkeit, Daten an die URL anzuhängen. Das ist wahrscheinlich in deinem Fall weniger sinnvoll, da die Datenmenge begrenzt ist.
        Und man kann mit einem HTTP-POST Daten mitsenden. Das geht über Key-Value-Paare oder auch in beliebiger Form. Key-Value-Paare landen in $_POST. Beliebige Daten können in $HTTP_RAW_POST_DATA abgefragt werden (Einstellung always_populate_raw_post_data beachten).

        Um POST-Request zu senden stellt PHP keine direkten Funktionen bereit. Es gibt aber zwei Pakete in PEAR, die das können: HTTP_Client und HTTP_Request.

        echo "$verabschiedung $name";

  2. Hallo,

    Wie kann ich mit PHP ein XML-formatierter Text an einen anderen Server senden?

    Das schreit geradezu nach einem Webservice mit SOAP. Dazu findest Du bestimmt massig Beispiele mit Google.

    z.B. http://codewalkers.com/tutorials/74/1.html

    Gruss
    LeKuchen

    1. Moin!

      Das schreit geradezu nach einem Webservice mit SOAP. Dazu findest Du bestimmt massig Beispiele mit Google.

      Das ist die exakt richtige Antwort.

      SOAP gibt es in zwei wesentlichen Varianten, nuSOAP und PEAR:SOAP. Wenn Dein Hoster das PEAR-Modul nicht installiert hat, dann nimm nuSOAP. Das ist einfach eine PHP-Datei die per include oder besser require_once einzubinden ist.

      Literaturempfehlung: Galileo-Computing: Webservices mit PHP 24,90 Euronen (Naja, aber es hilft wirklich)

      Beschreibt sowohl PEAR::SOAP, nuSOAP sowie XML-RPC, WSDL. Alles feine Sachen, die mit Deinem Problem zu tun haben, das Buch hilft auch mir gegenwärtig sehr beim Weiterentwickeln von IT-Schule.

      MFFG (Mit freundlich- friedfertigem Grinsen)

      fastix®

      --
      Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
      1. echo $begrüßung;

        Das schreit geradezu nach einem Webservice mit SOAP.
        Das ist die exakt richtige Antwort.

        SOAP ist recht mächtig und umfangreich. Wenn es um einfache Datenübertragung ohne großartige Typ- und Wertebereichprüfung geht, würde ich das XML-RPC empfehlen. Das ist zwar schon etwas "angegraut", dafür aber recht einfach anzuwenden.
        PHP bietet eine eingebaute/einbaubare Unterstützung für XML-RPC ab Version 4.1.0 an. SOAP hingegen ist erst ab Version 5 Bestandteil von PHP. Unabhängig davon gibt es für beide Protokolle externe Implementierungen. (Bei in PHP geschriebenen Implementierungen dürfte SOAP wegen seiner Komplexität deutlich mehr Rechenleistung verlangen als XML-RPC.)

        echo "$verabschiedung $name";

        1. Moin!

          echo $begrüßung;

          Das schreit geradezu nach einem Webservice mit SOAP.
          Das ist die exakt richtige Antwort.

          Damit meinte ich Deine Antwort.

          SOAP ist recht mächtig und umfangreich. Wenn es um einfache Datenübertragung ohne großartige Typ- und Wertebereichprüfung geht, würde ich das XML-RPC empfehlen. Das ist zwar schon etwas "angegraut", dafür aber recht einfach anzuwenden.

          Ja, es ist "leichter", kann dafür weniger

          PHP bietet eine eingebaute/einbaubare Unterstützung für XML-RPC ab Version 4.1.0 an.

          Damit hast Du recht.

          <zitat>
          Installation

          XML-RPC support in PHP is not enabled by default. You will need to use the --with-xmlrpc[=DIR] configuration option when compiling PHP to enable XML-RPC support. This extension is bundled into PHP as of 4.1.0.
          </zitat>

          Hier muss der Frager wissen, ob er sein PHP auf beiden Maschinen selbst kompilieren kann. Da auf PHP.net steht, diese Unterstützung wäre experimentell, vermute ich die Hoster lassen die Finger davon weg.
          Aber er kann ja mit <? phpinfo(); ?> auch nach den installierten Erweiterungen schauen.

          SOAP hingegen ist erst ab Version 5 Bestandteil von PHP.

          Mit PEAR kann er PEAR::SOAP nachinstallieren. Voraussetzung: PEAR ist installiert...

          Unabhängig davon gibt es für beide Protokolle externe Implementierungen. (Bei in PHP geschriebenen Implementierungen dürfte SOAP wegen seiner Komplexität deutlich mehr Rechenleistung verlangen als XML-RPC.)

          MFFG (Mit freundlich- friedfertigem Grinsen)

          fastix®

          --
          Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.