Задать вопрос
@borschtWITHgarlic

Как настроить отправку файла через Curl на PHP7?

Есть инструкция: https://pyrus.com/ru/help/api/files#uploadfile
Конкретно по отправке файлов такие требования:

5f227c8a8fa25520139304.png

Пытаюсь делать следующее:
готовлю файл
$boundary = md5(time());
		$fileBody = file_get_contents('./'.$fileName);
		$data = '--'.$boundary.'\r\n';
		$data .= 'Content-Disposition: form-data; name="file"; filename="'.$fileName.'"\r\n';
		$data .= 'Content-Type: application/octet-stream\r\n';
		$data .= $fileBody.'\r\n';
		$data .= '--'.$boundary.'--\r\n';


И отправляю Curl
$token = getAccessToken();
$url = URL.$metod;
$headers = [
'Authorization: Bearer '.$token,
'Content-Type: multipart/form-data; boundary='.$boundary,
'Content-Length: '.strlen($data)
];

if($curl = curl_init()) {
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

$data_json = curl_exec($curl);
curl_close($curl);
$result = json_decode($data_json, true);
}


Сервер возвращает ошибку:
Array ( [error] => Bad body format [error_code] => bad_multipart_content )

Не могу сообразить пока, может кто то работал с этой системой уже или с подобным..
  • Вопрос задан
  • 159 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
Предлагаю не мучить curl, а воспользоваться docs.guzzlephp.org/en/stable/quickstart.html#sendi...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы