Нужно отправить данному через POST 2 параметра, ключ к API и сам файл на проверку. Собственно код такой
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://viruscheckmate.com/api/v1/check/new/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLINFO_HEADER_OUT);
curl_exec($ch);
curl_close($ch);
В $data массив этих 2 параметров, ну а сам файл отправляю через CURLFile() И как неудивительно, но все работает, данный код возвращает ответ сервера, все отлично. Однако, только на локалке, но как только помещаешь код на сервер, он не работает, и выдает ошибку авторизации, что говорит о том что ключ не передается, симулировал ситуацию и записывал переданные данные, там все хорошо и файл отправляется и ключ тоже, в чем может быть причина такого поведения CURL() ведь на локалке работает.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей