<?php
define('VK_ACCESS_TOKEN', 'xyz token');
define('VK_API_VERSION', 5.103);
// // //
// Скачиваем видео с внешнего сервера на свой сервер
// // //
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '
techslides.com/demos/sample-videos/small.mp4');
curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE);
$curl_result = curl_exec($ch);
curl_close($ch);
// Кладем видео в папку со скриптом
$fp = fopen('small.mp4', 'x');
fwrite($fp, $curl_result);
fclose($fp);
// // //
// Получаем адрес ссылки, куда загружать видео
// // //
$ch = curl_init();
$parameters = http_build_query([
'access_token' => VK_ACCESS_TOKEN, // access_token / ключ доступа
'v' => VK_API_VERSION, // версия API
'name' => 'Имя видеозаписи',
'description' => 'Исчерпывающее описание нашей первой видеозаписи.',
'group_id' => 192101047, // ID группы
'no_comments' => 0 // разрешаем комментирование
]);
curl_setopt($ch, CURLOPT_URL, '
https://api.vk.com/method/video.save?' . $parameters);
curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$curl_result = json_decode(curl_exec($ch), TRUE); // превращаем JSON-массив, который нам вернул VK, в обычный PHP-массив
curl_close($ch);
// // //
// Загружаем видео на серверы ВК
// // //
$ch = curl_init();
$parameters = [ 'video_file' => new CURLFile('small.mp4') ];
curl_setopt($ch, CURLOPT_URL, $curl_result['response']['upload_url']);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, TRUE);
$curl_result = json_decode(curl_exec($ch), TRUE);
curl_close($ch);
if (isset($curl_result['error'])) {
exit('Строка ' . __LINE__ . ': Ошибка при загрузке видео на серверы ВК: ' . $curl_result['error'] . '.');
}
echo 'Видеозапись успешно загружена.';
Пишет Успешна загружена, а в группе не появляется