2011-10-24 8 views
0

application/octet-streamのような他のコンテンツタイプで投稿しようとしているとき、またはC#コード(バイナリの8ビット行データを送信するため)でWebClientメソッドを使用しているときに、私の$_POSTが空です(サーバで)。 サーバは通常の文字列に対しては正常に動作し、ContentType = "application/x-www-form-urlencoded"の場合にのみ正常に動作します。

ここで、バリエール$_POSTを確認できますか?リクエストクラスで?

+0

あなたは 'アプリケーション/ X-WWW-フォームurlencoded'または'マルチパート/フォームデータを送信している場合、PHPは、唯一のポスト/リクエストのスーパーグローバルに移入されます'。他のデータ型はプレーンバイナリとして扱われ、解析されません。誤ったMIMEタイプのフォームデータを送信している場合は、 'php:// input'からPOSTデータを自分自身で抽出することができます。 GETパラメータはURLから取得され、投稿されたMIMEタイプとは独立しています。 –

答えて

1

生のPOSTデータを取得するには、使用:

$data = file_get_contents("php://input"); 
+0

ありがとう、両方の答えが私の問題を解決しました。 タンクが大好き! –

関連する問題