Получаем видео из определенного плейлиста YouTube с помощью PHP

    Комментариев нет 1268

elefant

Знаете ли вы, что при помощи языка PHP можно получить видео из указанного плейлиста? Я уже писал, что можно получить последнее видео с канала, но сегодня мы получим 5 последних видео из плейлиста. У каждого плейлиста есть идентификатор, его мы и будем указывать. К примеру у меня есть группа видео под названием Web Development, из него и будем вытаскивать последние 5 видео. Вы спросите: для чего это может пригодиться? Как вариант — для размещения видеоотзывов с последующей публикацией их на сайте указанным способом.

Телеграм-канал serblog.ru

Для начала укажем ID листа и количество видео, которые будем выводить на странице.

1
2
$ytPlaylistID = 'PLqpjzaoeRoRkjCshF0AqDp-clqODoKNmY';
$maxVideos = 5;

Затем напишем пользовательскую функцию, которая и будет делать всю магию.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function getYTvideos($channelID, $maxVideos)
{
	$counterVideos = 1;
	$ch = curl_init();
	$url = 'https://www.youtube.com/feeds/videos.xml?playlist_id=' . $channelID;
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
	$data = curl_exec($ch);
	curl_close($ch);
	$xml = simplexml_load_string($data);
	foreach ($xml->entry as $ytVideo) {
	  $videoLinkParts = explode("=", $ytVideo->link['href']);
	  echo "<div><iframe src='https://www.youtube.com/embed/" . $videoLinkParts[1] . '="?rel=0&enablejsapi=1' allowfullscreen></iframe></div>";
	  if (++$counterVideos > $maxVideos) break;
	}
}

Осталось только вызвать эту функцию в нужном месте и проверить результат ее работы. Количество видео в переменной $maxVideos можно менять по желанию как в большую, так и меньшую сторону.

1
getYTvideos($ytPlaylistID, $maxVideos);

В аргументах этой функции передаем ID плейлиста и количество видео. Самые внимательные из вас наверняка обратили внимание, что все делается с помощью CURL и если у вас возникли с этим какие-то затруднения. то можете рассказать об этом в комментариях.

Любая сумма на развитие сайта

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *