Как отправить файлы при помощи cURL и проверить что файл дошел?
curl_setopt($curl, CURLOPT_POSTFIELDS, [
'token' => $Token,
'sig' => $sig,
'Request[files][0]' => new CURLFile('/upload/iblock/158/158e2eabb60b3830ae08c97bb288a258.jpg', 'image/jpeg' , 'image1.jpg'),
'Request[files][1]' => new CURLFile('/upload/iblock/158/158e2eabb60b3830ae08c97bb288a258.jpg', 'image/jpeg' , 'image2.jpg'),
'Request[files][2]' => new CURLFile('/upload/iblock/158/158e2eabb60b3830ae08c97bb288a258.jpg', 'image/jpeg' , 'image3.jpg'),
]);
Сейчас пытаюсь отправить таким образом, но API ничего не говорит, раньше хотяб ругался. Может быть я что-то важное упускаю?
UPD
Полностью код:
<?
function createNewItem($Item){
$curl = curl_init($url);
$MethodName = 'CreateRequest';
$Identificator = '945';
$Token = ;//тут токен
$sig = md5($MethodName.$Identificator.substr(md5($Token), 0, 10));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, [
'token' => $Token,
'sig' => $sig,
'Request[name]' => $Item['NAME'],
'Request[measure]' => "1",
'Request[weight]' => $Item['PROPERTY_WEIGHT_VALUE'],
'Request[length]' => "145",
'Request[width]' => $Item['PROPERTY_WIDTH_VALUE'],
'Request[height]' => $Item['HEIGHT'],
'Request[volume]' => "12",
'Request[certificate]' =>"1241251",
'Request[fabricatorText]' => "Name",
'Request[fabricCode]' => $Item['PROPERTY_ARTICLE_VALUE'],
'Request[country]' => "Россия",
'Request[description]' => $Item['DETAIL_TEXT'],
'Request[minCount]' => "12",
'Request[vendorPrice]' => $Item['PROPERTY_PRICE_VALUE'],
'Request[barcodes]' => "9980000019541",
'Request[files][0]' => curl_file_create(__DIR__ ."/upload/iblock/158/158e2eabb60b3830ae08c97bb288a258.jpg",'image/jpeg','test1'),
'Request[files][1]' => curl_file_create(__DIR__ ."/images/indexpage-recipies-image.jpg",'image/jpeg','test2'),
'Request[files][2]' => curl_file_create(__DIR__ ."/images/indexpage-action-image.jpg",'image/jpeg','test3'),
]);
$response = curl_exec($curl);
curl_close($curl);
if (curl_errno($curl)){
echo '<span style="color:red">';
echo curl_error($curl);
echo '</span>';
} else {
echo '<span style="color:green">';
echo "Удачно";
echo $response;
echo '</span>';
}
}
?>
Сервер отдает FALSE в «$response = curl_exec($curl);» Только при поптыке загрузить файлы. Если это убрать, то ответ сервера получаю.