Get Youtube Video Thumbnail from Youtube Video Url using PHP

Let's say I have a youtube video URL for www.youtube.com/watch?v=B4CRkpBGQzU&feature=youtube_gdata&par1=1&par2=2

I want to get a video thumbnail β†’ i3.ytimg.com/vi/B4CRkpBGQzU/default.jpg I just need a simple PHP script that I will enter $ url and get $ img If possible, I would like to delete all other parameters and leave www. youtube.com/watch?v=B4CRkpBGQzU as $ url

+4
source share
5 answers

To extract the identifier from the following URL:

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


You can use parse_url() first to get the query string:

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

What, here, will give you:

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


And then use parse_str() to extract the parameters from this query string:

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

Which will give you the following array:

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


And now, it's just a matter of using the v element from this array by typing it into the sketch url:

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

What gives:

 i3.ytimg.com/vi/B4CRkpBGQzU/default.jpg 
+18
source
 <?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"); ?> 
+7
source

https://img.youtube.com/vi/B4CRkpBGQzU/default.jpghttps://img.youtube.com/vi/B4CRkpBGQzU/1.jpghttps://img.youtube.com/vi/B4CRkpBGQzU/2.jpghttps://img.youtube.com/vi/B4CRkpBGQzU/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"); 
+6
source

Assuming youtube doesn't change their format:

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

This will give you the "B4CRkpBGQzU" part in $matches[1];

0
source

Retrieving Video ID from 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 

Image acquisition

 $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"); 
0
source

All Articles