2016-11-17 4 views
0

Мне нужно сделать несколько запросов (около 20) ListOrderItem от Amazon MWS, и у меня возникла проблема с попыткой выяснить, как записать каждый из этих запросов в один файл XML.file_put_contents при множественном запросе XML-данных

В настоящий момент XML-файл просто перезаписывается самым последним запросом. Когда я пишу csv с PHP, он просто добавляет только что предоставленный текст в первую пустую строку. Я надеялся, что 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 для нескольких запросов, но если кто-то знает другой путь, я бы ОН ТАК GRATEFUL.

ответ

0

Очень дорогой друг помог мне на этом. Если вы видите это, 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_APPEND") для file_put_contents(), который сделал трюк. Надеюсь, это помогает кому-то другому. На большее количество проблем.

Смежные вопросы