file_put_contents 多次请求 XML 数据

file_put_contents on multiple request of XML data

我必须从亚马逊 MWS 发出多个(大约 20 个)ListOrderItem 请求,我在尝试弄清楚如何将每个请求写入单个 XML 文件时遇到问题。

目前,XML 文件正被最近的请求覆盖。当我用 PHP 写入 csv 时,它只是将新给定的文本添加到第一个空白行。我希望 xml 也有同样的效果 - 愚蠢的我。

这是我现在的代码:

file_put_contents($amazonOrdersXML, ""); //clears the xml file to start

$OrderLen = count($OrderArray); //number of requests needed to make

for ($x = 0; $x < $OrderLen; $x++) {

$t = xml_attribute($OrderArray, $x);
    if (array_key_exists('AmazonOrderId', $ListOrderItemsRequest)) {
        $ListOrderItemsRequest['AmazonOrderId'] = $t;
        $try = amazonRequest($ListOrderItemsRequest, $secret);
        print_r($try);
        file_put_contents($amazonOrdersXML, $try);
  }
}

我想我要做的是对多个请求使用 curl_multi_init,但如果有人知道其他方法,我将非常感激。

一位非常亲爱的朋友在这件事上帮助了我。如果你看到这个,Wizard - xoxo。

神奇之处在于:

for ($x = 0; $x < $OrderLen; $x++) {

$t = xml_attribute($OrderArray, $x);
    if (array_key_exists('AmazonOrderId', $ListOrderItemsRequest)) {  
        $ListOrderItemsRequest['AmazonOrderId'] = $t;
        $try = amazonRequest($ListOrderItemsRequest, $secret);
        print_r($try);
        file_put_contents($amazonOrdersXML, $try, FILE_APPEND);
        sleep(1);
}
}

file_put_contents() 的标记操作 ("FILE_APPEND") 成功了。希望这可以帮助别人。解决更多问题。