Получить Youtube видео Thumbnail из Youtube видео Url с помощью PHP

Допустим, у меня есть URL-адрес youtube video www.youtube.com/watch?v=B4CRkpBGQzU&feature=youtube_gdata&par1=1&par2=2

Я хочу получить миниатюру видео -> i3.ytimg.com/vi/B4CRkpBGQzU/default.jpg Мне просто нужен простой скрипт php, который я буду вводить $ url и получить $ img. Если возможно, мне хотелось бы удалить все остальные параметров и останутся только с www.youtube.com/watch?v=B4CRkpBGQzU в качестве $ url

Чтобы извлечь идентификатор из следующего URL-адреса:

 $url = 'www.youtube.com/watch?v=B4CRkpBGQzU&feature=youtube_gdata&par1=1&par2=2'; 

Вы можете сначала использовать parse_url() чтобы получить строку запроса:

 $queryString = parse_url($url, PHP_URL_QUERY); var_dump($queryString); 

Который здесь даст вам:

 string 'v=B4CRkpBGQzU&feature=youtube_gdata&par1=1&par2=2' (length=49) 

И затем используйте parse_str() для извлечения параметров из этой строки запроса:

 parse_str($queryString, $params); var_dump($params); 

Который доставит вам следующий массив:

 array 'v' => string 'B4CRkpBGQzU' (length=11) 'feature' => string 'youtube_gdata' (length=13) 'par1' => string '1' (length=1) 'par2' => string '2' (length=1) 

И теперь, это просто вопрос использования элемента v из этого массива, введя его в URL-адрес миниатюры:

 if (isset($params['v'])) { echo "i3.ytimg.com/vi/{$params['v']}/default.jpg"; } 

Который дает :

 i3.ytimg.com/vi/B4CRkpBGQzU/default.jpg 
 <?php function getYoutubeImage($e){ //GET THE URL $url = $e; $queryString = parse_url($url, PHP_URL_QUERY); parse_str($queryString, $params); $v = $params['v']; //DISPLAY THE IMAGE if(strlen($v)>0){ echo "<img src='http://i3.ytimg.com/vi/$v/default.jpg' width='150' />"; } } ?> <?php getYoutubeImage("http://www.youtube.com/watch?v=CXWSlho1mMY&feature=plcp"); ?> 

http://img.ruphp.com/php/default.jpghttp://img.ruphp.com/php/1.jpghttp://img.ruphp.com/php/2.jpghttp://img.ruphp.com/php/3.jpg

 $url = "http://youtube.com/watch?v=B4CRkpBGQzU"; $url = explode("&", $url); $vidID = preg_match("|?v=(.*)|", $url); $thumb_default = file_get_contents("http://img.youtube.com/vi/$vidID/default.jpg"); $thumb1 = file_get_contents("http://img.youtube.com/vi/$vidID/0.jpg"); $thumb2 = file_get_contents("http://img.youtube.com/vi/$vidID/1.jpg"); $thumb3 = file_get_contents("http://img.youtube.com/vi/$vidID/2.jpg"); $thumb4 = file_get_contents("http://img.youtube.com/vi/$vidID/3.jpg"); 

Предполагая, что youtube не изменит их формат:

$thumb = preg_match('/watch\?v=(.*)&feature/',$url, $matches);

Это даст вам часть «B4CRkpBGQzU» в $matches[1]; matches $matches[1];

Получение идентификатора видео из URL-адреса

 $url = "http://www.youtube.com/watch?v=oHg5SJYRHA0&amp;feature=relate"; parse_str( parse_url( $url, PHP_URL_QUERY ) ); echo $vidID;//this is video id 

Получение изображений

 $thumb1 = file_get_contents("http://img.youtube.com/vi/$vidID/0.jpg"); $thumb2 = file_get_contents("http://img.youtube.com/vi/$vidID/1.jpg"); $thumb3 = file_get_contents("http://img.youtube.com/vi/$vidID/2.jpg"); $thumb4 = file_get_contents("http://img.youtube.com/vi/$vidID/3.jpg");