使用PHP从Youtube视频Url获取Youtube视频缩略图
假设我有一个youtube视频url使用PHP从Youtube视频Url获取Youtube视频缩略图,php,youtube,Php,Youtube,假设我有一个youtube视频urlwww.youtube.com/watch?v=B4CRkpBGQzU&feature=youtube\u gdata&par1=1&par2=2 我想获取视频缩略图->i3.ytimg.com/vi/B4CRkpBGQzU/default.jpg 我只需要一个简单的php脚本,我将输入$url并获得$img 如果可能的话,我想去掉所有其他参数,只剩下 www.youtube.com/watch?v=B4CRkpBGQzU作为$url假设youtube不改变格
www.youtube.com/watch?v=B4CRkpBGQzU&feature=youtube\u gdata&par1=1&par2=2
我想获取视频缩略图->i3.ytimg.com/vi/B4CRkpBGQzU/default.jpg
我只需要一个简单的php脚本,我将输入$url并获得$img
如果可能的话,我想去掉所有其他参数,只剩下
www.youtube.com/watch?v=B4CRkpBGQzU作为$url假设youtube不改变格式:
$thumb=preg_match('/watch\?v=(.*)和feature/',$url,$matches)代码>
这将获得$matches[1]中的'B4CRkpBGQzU'部分代码>
要从以下URL提取标识符,请执行以下操作:
$url = 'www.youtube.com/watch?v=B4CRkpBGQzU&feature=youtube_gdata&par1=1&par2=2';
您可以首先使用获取查询字符串:
$queryString = parse_url($url, PHP_URL_QUERY);
var_dump($queryString);
parse_str($queryString, $params);
var_dump($params);
在这里,你可以得到:
string 'v=B4CRkpBGQzU&feature=youtube_gdata&par1=1&par2=2' (length=49)
然后,使用从该查询字符串中提取参数:
$queryString = parse_url($url, PHP_URL_QUERY);
var_dump($queryString);
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
从URL获取视频ID
$url = "http://www.youtube.com/watch?v=oHg5SJYRHA0&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");
编辑它。忘了包括$matches。然后使用$matches创建新的URL。谢谢,这是一个完美的解决方案。只有一个问题,我得到的图像太小了。如何获得300*300大小的更大图像。我必须将此信息嵌入“每周视频”下的电子邮件中。@Purushottamzende