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'));

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

или просто зацикливаться на этом.

1 ответ

Решение

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

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

Другие вопросы по тегам