Я использую API Amazon AIMS для загрузки файла инвентаризации, и у меня возникла проблема с вызовом cURL для загрузки файла. Документация очень ограничена, поэтому нет примера кода, который бы помог в этом.
Это то, что я до сих пор говорил о вызове cURL:
// $FILENAME is filename of the CSV file being uploaded:
$inventory = fopen($FILENAME, 'r') or die("Can't open file!");
echo $inventory;
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_INFILE, $inventory);
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($filename));
curl_setopt($ch, CUROPT_PUT, TRUE);
$response = curl_exec($ch);
curl_close($ch);
Я пытаюсь поместить $ инвентарь в CURLOPT_POSTFIELDS и не иметь INFILE, но я получаю ту же ошибку.
В ответе на XML я получаю "NO_FILE_ATTACHED
", поэтому очевидной проблемой является получение файла для присоединения к вызову XML.
Я также попытался загрузить, как сказал первый респондент, используя пример №2 на странице curl_setopt в php.net.
Для этого я использовал следующий код:
$data = array('@/tmp/amazon_export.csv');
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
curl_close($ch);
Я получил тот же NO_FILE_ATTACHED
ответ.
Есть идеи?