Здравствуйте, есть скрипт на PHP который должен выгружать файл с HTML страницы в PHP и отрправлять его в API с помощью Curl, сам запрос составил но PHP ругается и никак не пойму почему...
<?php
if(isset($_FILES) && $_FILES['sw']['error'] == 0) { // проверка что был загружен файл
$destiation_dir = dirname(__FILE__) .'/'.$_FILES['file']['name'];
$url_request = "http://example.com/api/"; // URL запроса к API
$curl = curl_init($url_request);
curl_setopt($curl, CURLOPT_URL, $url_request);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PATCH"); // Метод запроса PATCH
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array("Authorization: Bearer 12345"); // Токен авторизации
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$files = array('file'=> new CURLFILE($destiation_dir)); // Обозначаем файл
curl_setopt($curl, CURLOPT_POSTFIELDS, $files); // Отправляем файл на сервер API
$resp = curl_exec($curl);
$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Получаем HTTP код
curl_close($curl); // line 39
var_dump($resp);
if ($httpcode == 200) {$answer = "Ok (200)";} // Ок если код 200
else {$answer = "Fail ($httpcode)";} // Fail если отличный от 200
}
?>
Пробовал использовать путь с сервера:
$w = $_SERVER['DOCUMENT_ROOT'];
$dir = ($w.'/file.bin');
и поменять заголовок:
array("Content-Type: multipart/form-data", "Authorization: ...
это не помогло
Ошибка такая:
Warning: curl_close(): supplied resource is not a valid cURL handle resource in /var/www/...load.php on line 39
Ответ сервера:
"code":404,"error":"can't open the file"
Подскажите, пожалуйста, куда копать.