このコードを使用して、XMLファイルのデータをcURL経由でプレスオフィスに送信します。今、私の注文が確認または完了したという報道機関からのフィードバックが欲しいです。それもXMLファイルに入れたいと思います。curlを介してファイルを送信する方法を知っていますが、データを読み取ることができるようにファイルを受信する方法を知りたいと思います。どんな提案でも大歓迎です。
これが私のXMLを送信する方法です:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $incomm_prod_server);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
curl_setopt($ch, CURLOPT_POSTFIELDS, str_replace('{voucher_code}', $voucher_code, $xml_data));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close'));
これが、XMLを取得するために私が行うことです。
$ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); $result_xml = simplexml_load_string(curl_exec($ch));
しかし、結果としてbool(false)が返されるので、xmlは送信されませんか?
編集:私はこのようにデータにアクセスできます:
if ( $_SERVER['REQUEST_METHOD'] === 'POST' ){ $postText = file_get_contents('php://input'); } die(var_dump($postText));
私は最後にもう一度編集します、多分それは他の人を助けるでしょう、私は今私のxmlにこのようにアクセスします:
if ( $_SERVER['REQUEST_METHOD'] === 'POST' ){
$postText = file_get_contents('php://input');
}
$xml = new SimpleXMLElement($postText);
$packing_number = $xml->xpath('/feedback/packing_number');
$packing_status = $xml->xpath('/feedback/packing_status');
これにより配列が返され、次のようにアクセスできます。
$packing_number [0]
または単にそれをループします。