2009-08-25 2 views
1

Ich habe eine Anwendung, wenn ich Daten in einem ziemlich regelmäßigen Intervall veröffentlichen. Ich habe einen Satz Code, der für VB auf der lokalen Seite und klassischen ASP auf der Serverseite entwickelt wurde, jetzt möchte ich die servis zu PHP ändern.Buchung auf PHP-Seite mit lokalen Programm

Der ursprüngliche Code verwendet das Objekt xmlHTTP, um XML-Daten an eine ASP-Webseite zu senden, die wie ein Charm funktioniert.

Es stellt sich heraus, wie ich mehr über das, was ich tue, die XML-Daten, die ich als XML-ADO-Stream-Objekt poste, gelernt habe.

ASP liest das gut.

Ich wollte jetzt den serverseitigen Code neu definieren, um PHP zu verwenden. Ich habe den folgenden Code versucht:

<?php 

$arq = file_get_contents('php://input'); 

echo strlen($arq); 

?> 

dies die richtige String-Länge zurückgibt, aber wenn ich die Zeichenfolge Echo-Suche auch für Dinge, die ich kenne, sind in der Folge nichts kommt zurück.

Ich bin mir ziemlich sicher, dass die Daten gerade nicht im richtigen Format konvertiert werden, da diese rohen Postdaten in einem binären Format vorliegen .... oder etwas anderes in dieser Richtung.

Wieder habe ich gelernt, das ist wie becase Ich poste die Daten mit dem ADO-Stream-Objekt. PHP liest den Header und erkennt, dass er eine bestimmte Länge hat, aber dann nicht weiß, wie er mit den restlichen Daten umgehen soll.

Ich habe versucht eine Vielzahl von Befehlen wie fread, fopen ..... Ich weiß, dass die rohen Post-Daten eingeschaltet ist.

Weitere Suchen haben ergeben, dass das Problem im Format des eingehenden Posts liegt.

Hat jemand irgendwelche Vorschläge, wie man mit den Stromdaten umgehen kann?

Bevor Sie fragen, habe ich get_stream_contents auch versucht. Es kommt zurück und sagt, dass es im Stream keinen Wert erreichen kann.

Dank

Antwort

0

In der PHP-Seite, die aufgerufen wird (die Seite, die Sie Daten, testmycode.php Mitteilung verfassen), sollten Sie die superglobalen $_POST Variable zu verwenden, um Daten zu erhalten, die wurde POSTed das Skript.

(Na ja, das heißt, Hüpfen verstehe ich Ihre Frage richtig)

+0

nicht wirklich. Wenn ich einen var_dump für die Post-Variable mache, ist sie leer. Das Problem ist actaully, wie es viel einfacher herauskommt als ich es gemacht habe. Die gesendeten Daten waren im XML-Format. Wenn ich es zu einfachem Text ändere, kann ich die Schnur sehen und alles ist gut. Das einzige Problem, das sich nun herausstellt, besteht nun darin, die Zeichenkette in ein anzeigbares XML-Format umzuwandeln. –

3

Sie sagen, wenn Sie die Zeichenfolge, die Sie nichts zurück bekommen Echo. Könnte es etwas Einfaches sein, zum Beispiel, dass Sie den Inhalt in Ihrem Browser wiedergeben und Ihr Browser dies nicht anzeigt, weil es sich um alle Tags handelt?