我正在使用Amazon AIMS API上傳清單文件,並且在上傳文件的cURL調用時遇到問題。文檔非常有限,所以沒有示例代碼可以幫助解決這個問題。如何使用PHP cURL XML調用附加文件
這是我迄今爲止捲曲呼叫:
// $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調用。
我也嘗試上傳作爲第一響應者說在php.net的curl_setopt頁面上使用示例#2。
對於這一點,我用下面的代碼:
$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
響應返回。
任何想法?
我仍然得到相同的NO_FILE_ATTACHED錯誤,而不是: $ 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); 這是在這個例子中。 – 2009-07-15 23:46:47