Как отправлять файлы с формы через curl запрос?
Возникла проблема- не понимаю как отправить файл с помощью curl запроса.Я написал следующий код, но он не работает:
<form style="margin-top:300px;" method="post" action="" enctype="multipart/form-data">
<div>
<input type="file" name="file">
</div>
<div>
<button type="submit" name="submit">Submit</button>
<div>
<?php
if (isset($_POST['submit'])) {
$post = $_POST;
$data = array(
"project_id"=> 14497,
"file"=>$_FILES
);
$token = 'qOzco4BasgCsktWyYBkHfHCftcC0iLEWfwiawx2XpiRsGt8d8c12MrRj43sI';
$ch = curl_init('https://brizo.ru/api/v1/field-file');
$headers = array();
$headers[] = "Content-Type: application/json";
$headers[] = "Accept: application/json";
$headers[] = "Authorization: Bearer $token";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data, JSON_UNESCAPED_UNICODE));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
print_r($result);
print_r(json_decode($result));
curl_close($ch);
}
?>
Ошибка:
stdClass Object ( [message] => Введенные данные содержат ошибку. [errors] => stdClass Object ( [file] => Array ( [0] => Поле file должно быть файлом. ) ) )
Буду рад любой помощи!
Источник: Stack Overflow на русском