How do I get a YouTube video thumbnail from the YouTube API?

后端 未结 30 2696
Happy的楠姐
Happy的楠姐 2020-11-21 07:06

If I have a YouTube video URL, is there any way to use PHP and cURL to get the associated thumbnail from the YouTube API?

30条回答
  •  执念已碎
    2020-11-21 07:41

        function get_video_thumbnail( $src ) {
                $url_pieces = explode('/', $src);
                if( $url_pieces[2] == 'dai.ly'){
                    $id = $url_pieces[3];
                    $hash = json_decode(file_get_contents('https://api.dailymotion.com/video/'.$id.'?fields=thumbnail_large_url'), TRUE);
                    $thumbnail = $hash['thumbnail_large_url'];
                }else if($url_pieces[2] == 'www.dailymotion.com'){
                    $id = $url_pieces[4];
                    $hash = json_decode(file_get_contents('https://api.dailymotion.com/video/'.$id.'?fields=thumbnail_large_url'), TRUE);
                    $thumbnail = $hash['thumbnail_large_url'];
                }else if ( $url_pieces[2] == 'vimeo.com' ) { // If Vimeo
                    $id = $url_pieces[3];
                    $hash = unserialize(file_get_contents('http://vimeo.com/api/v2/video/' . $id . '.php'));
                    $thumbnail = $hash[0]['thumbnail_large'];
                } elseif ( $url_pieces[2] == 'youtu.be' ) { // If Youtube
                    $extract_id = explode('?', $url_pieces[3]);
                    $id = $extract_id[0];
                    $thumbnail = 'http://img.youtube.com/vi/' . $id . '/mqdefault.jpg';
                }else if ( $url_pieces[2] == 'player.vimeo.com' ) { // If Vimeo
                    $id = $url_pieces[4];
                    $hash = unserialize(file_get_contents('http://vimeo.com/api/v2/video/' . $id . '.php'));
                    $thumbnail = $hash[0]['thumbnail_large'];
                } elseif ( $url_pieces[2] == 'www.youtube.com' ) { // If Youtube
                    $extract_id = explode('=', $url_pieces[3]);
                    $id = $extract_id[1];
                    $thumbnail = 'http://img.youtube.com/vi/' . $id . '/mqdefault.jpg';
                } else{
                    $thumbnail = tim_thumb_default_image('video-icon.png', null, 147, 252);
                }
                return $thumbnail;
            }
    
    get_video_thumbnail('https://vimeo.com/154618727');
    get_video_thumbnail('https://www.youtube.com/watch?v=SwU0I7_5Cmc');
    get_video_thumbnail('https://youtu.be/pbzIfnekjtM');
    get_video_thumbnail('http://www.dailymotion.com/video/x5thjyz');
    

提交回复
热议问题