Fqyeh29
@Fqyeh29
↓ ИМХО ↓

Не могу загрузить документ через VK API, в чем ошибка?

Код (перепробовал кучу вариантов):
$url=file_get_contents('https://api.vk.com/method/docs.getWallUploadServer?group_id='.gid().'&access_token='.token2().'&v=5.60');
$url = json_decode($url); 
$url=$url->response->upload_url;

  $post = array('file'=> "@ta.mp3"));
 
  $ch = curl_init(); 
  curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:multipart/form-data"));
  curl_setopt($ch, CURLOPT_URL, $url); 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
  $output = curl_exec($ch);


А в ответ кроме {"error":"unknown error"} ничего не смог получить.
Url для загрузки верный. Токен имеет доступ.
  • Вопрос задан
  • 810 просмотров
Пригласить эксперта
Ответы на вопрос 1
BuriK666
@BuriK666
Компьютерный псих
php.net/manual/ru/function.curl-setopt.php

Все данные, передаваемые в HTTP POST-запросе. Для передачи файла, укажите перед именем файла @, а также используйте полный путь к файлу.

С версии PHP 5.5.0, префикс @ устарел и файлы можно отправлять с помощью CURLFile. Префикс @ можно отключить, чтобы можно было передавать значения, начинающиеся с @, задав опцию CURLOPT_SAFE_UPLOAD в значение TRUE.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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