PHP,读经卷曲发送XML文件(PHP , read XML file sent via cURL)

2019-09-21 09:12发布

我有这样的代码,我在一个XML文件通过卷曲将数据发送到新闻办公室。 现在我想从新闻,我的订单确认或做了反馈。 我想有一个XML文件中。 我知道我是如何通过卷曲发文件,现在我想知道我如何收到他们这样我就可以读出的数据。 任何建议都欢迎。

这是我怎么把我的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)); 

但我得到布尔(假)的结果返回,所以没有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]

或者只是环槽它。

Answer 1:

好了,所以你上面贴的代码并没有真正发送XML文件。 它所做的是XML文件的内容放置到$_POST附在请求变量。

接收数据(在另一侧),所有你所要做的就是看看到$_POST变量和XML数据应该在那里。 你最好安装一个脚本和数据将被张贴到它(可能使用你在上面用同样的方法),内容将是你访问。



文章来源: PHP , read XML file sent via cURL