Es gibt noch eine andere CURL-Methode, wenn Sie diesen Weg gehen wollen.
Das ist ziemlich einfach, wenn man sich erst einmal mit der Funktionsweise der PHP-Curl-Erweiterung vertraut gemacht hat, die verschiedene Flags mit setopt()-Aufrufen kombiniert. In diesem Beispiel habe ich eine Variable $xml, die das XML enthält, das ich zum Senden vorbereitet habe - ich werde den Inhalt davon an die Testmethode von example senden.
$url = 'http://api.example.com/services/xmlrpc/';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
//process $response
Zuerst haben wir die Verbindung initialisiert, dann haben wir einige Optionen mit setopt() gesetzt. Diese teilen PHP mit, dass wir eine Post-Anfrage stellen und dass wir einige Daten mitschicken, indem wir die Daten liefern. Das Flag CURLOPT_RETURNTRANSFER weist curl an, die Ausgabe als Rückgabewert von curl_exec zu liefern, anstatt sie auszugeben. Dann führen wir den Aufruf durch und schließen die Verbindung - das Ergebnis steht in $response.