Задать вопрос
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 для загрузки верный. Токен имеет доступ.
  • Вопрос задан
  • 814 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
BuriK666
@BuriK666
Компьютерный псих
php.net/manual/ru/function.curl-setopt.php

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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽