Я пытаюсь разместить изображения аватаров с моего сайта на pipedrive с помощью PHP/Curl. Документы требуют кодирования multipart/form-data. Кажется, я не могу получить фактический файл для публикации. Я пробовал несколько способов отправить файл из разных инструкций, но каждый раз, когда pipedrive возвращает «файл не прикреплен». Я приклеил свою текущую попытку ниже, любые идеи? Или, может быть, просто укажите мне пример, который будет работать?Как использовать PHP/Curl для публикации файла для спокойного api?
$ch = curl_init();
$timeout = 10;
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_INFILESIZE, $params['filesize']);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array('Content-Type:multipart/form-data')
);
$data = curl_exec($ch);
$params = array(
'id' => $PDid,
'file' => plugin_dir_path(dirname(__FILE__)).'tmp/'.$filename,
'filesize' => filesize(plugin_dir_path(dirname(__FILE__)).'tmp/'.$filename)
);
Спасибо. Я не передавал файл правильно. Когда я включил класс CURLFile(), он работал отлично. Массив $ params был определен в другом классе и передан моей оболочке curl. Я должен был поставить его выше, извините за путаницу. – user2626294