Intereting Posts

PHP, чтение XML-файла, отправленного через cURL

У меня есть этот код, где я отправляю данные в 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')); 

Так вот что я делаю на стороне ither, чтобы получить 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?

EDIT: я могу получить доступ к следующим данным:

  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]

или просто проведите через него.

Related of "PHP, чтение XML-файла, отправленного через cURL"

Хорошо, поэтому код, который вы выложили выше, действительно не отправляет XML-файл. Все, что он делает, помещает содержимое этого XML-файла в переменную $_POST прикрепленную к запросу.

Для получения данных (с другой стороны) все, что вам нужно сделать, – это посмотреть в переменную $_POST и ваши XML-данные должны быть там. Вы настроили скрипт, и данные будут отправлены на него (возможно, используя тот же метод, который вы используете выше), и контент будет доступен вам.