Знаете ли вы, что при помощи языка PHP можно получить видео из указанного плейлиста? Я уже писал, что можно получить последнее видео с канала, но сегодня мы получим 5 последних видео из плейлиста. У каждого плейлиста есть идентификатор, его мы и будем указывать. К примеру у меня есть группа видео под названием Web Development, из него и будем вытаскивать последние 5 видео. Вы спросите: для чего это может пригодиться? Как вариант — для размещения видеоотзывов с последующей публикацией их на сайте указанным способом.
Для начала укажем ID листа и количество видео, которые будем выводить на странице.
1
2
| $ytPlaylistID = 'PLqpjzaoeRoRkjCshF0AqDp-clqODoKNmY';
$maxVideos = 5; |
$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;
}
} |
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); |
getYTvideos($ytPlaylistID, $maxVideos);
В аргументах этой функции передаем ID плейлиста и количество видео. Самые внимательные из вас наверняка обратили внимание, что все делается с помощью CURL и если у вас возникли с этим какие-то затруднения. то можете рассказать об этом в комментариях.
Добавить комментарий