Frage

Suchen Sie die Dateigröße des SOAP-POST, best Practices zu lesen?

$data = fopen('php://input','rb');
$content = fread($data,5000);

$dom = new DOMDocument();
$dom->loadXML($content);

Möchten Sie die 5000 wie dynamisch zu sein wie jede SOAP POST Größe anders sein oder tut diese Angelegenheit?

Mit fread () wäre toll

War es hilfreich?

Lösung

Umm. Wenn Sie es mit ‚fread‘ lesen können, sehe ich keinen Grund, warum Sie nicht EXACT gleichen Text mit ‚file_get_contents()‘ lesen können. Ich benutze dies ein paar Mal und Erinnern, die ich beide haben versuchen.

Was die beste Praxis für ‚fread‘ geht, was Sie brauchen, ist die Dateigröße, die Sie es von getallheaders bekommen kann ().

Also, wenn Sie immer noch lieber mit hier 'fread' der Code ist.

$data = fopen('php://input','rb');
$Headers = getallheaders();
$CLength  = $Headers['Content-Length'];
$content = fread($data,$CLength);

$dom = new DOMDocument();
$dom->loadXML($content);

Der obige Code ist selbst erklärt, so gibt es keine Notwendigkeit für weitere Erklärung. Nur ein wenig zur Kenntnis, dass, wenn die Länge länger als 8192 Bytes der Inhalt wird abgeschnitten. So überprüfen Sie besser die Leselänge zu sehen, wenn es abgeschnitten. (Sie werden nicht Sorge sein müssen, wenn Sie ‚file_get_contents()‘ verwenden obwohl).

Hope, das hilft

Andere Tipps

Sie könnten versuchen, die folgenden statt:

$xml = file_get_contents('php://input')

Damit werden alle Inhalte erhalten, unabhängig von der Länge der Daten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top