PHP 入力から XML データを読み取っていますが、XML データではなく番号 1 を受け取っています。
PHP 入力から XML データを読み取るための PHP コード:
$xmlStr="";
$file=fopen('php://input','r');
while ($line=fgets($file) !== false) {
$xmlStr .= $line;
}
fclose($file);
XML を送信するための PHP コード:
public static function xmlPost($url,$xml) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, 1); // set url to post to
curl_setopt($ch, CURLOPT_URL, $url); // set url to post to
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return into a variable
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml"));
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 40); // times out after 4s
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); // add POST fields
curl_setopt($ch, CURLOPT_POST, 1);
$result=curl_exec ($ch);
return $result;
}
私が送信している XML に関係なく、受信側は XML データではなく番号 1 を取得しています。何か案は?
この問題に関する情報をいただければ幸いです。
アップデート
次のコードが機能します。
$xmlStr = file_get_contents('php://input');
しかし、なぜ私のコードはそうではないのですか? コードが実際の xml ではなく 1 を返すのはなぜですか?