Как отправлять файлы с формы через curl запрос?

Рейтинг: 0Ответов: 0Опубликовано: 21.06.2023

Возникла проблема- не понимаю как отправить файл с помощью 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 должно быть файлом. ) ) )

Буду рад любой помощи!

Ответы

Ответов пока нет.