首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取YouTube视频标题

获取YouTube视频标题
EN

Stack Overflow用户
提问于 2012-03-12 17:26:45
回答 6查看 15.9K关注 0票数 2

在我的一个应用程序中,我保存了一个YouTube视频的id...比如"A4fR3sDprOE“。我必须在应用程序中显示它的标题。我得到了下面的代码来获得它的标题,而且它工作得很好。

现在的问题是,如果发生任何错误(在删除视频的情况下),PHP将显示一个错误。我只是添加了一个条件。但它仍然显示了错误。

代码语言:javascript
复制
foreach($videos as $video) {

    $video_id = $video->videos;
    if($content=file_get_contents("http://youtube.com/get_video_info?video_id=".$video_id)) {
        parse_str($content, $ytarr);

        $myvideos[$i]['video_title']=$ytarr['title'];

    }
    else
        $myvideos[$i]['video_title']="No title";

    $i++;
}

return $myvideos;

如果出现错误,它将死于以下代码:

严重性:警告

消息: file_get_contents(http://youtube.com/get_video_info?video_id=A4fR3sDprOE)函数.file-get-contents:无法打开流: HTTP请求失败!需要HTTP/1.0 402付款

文件名:model/webs.php

行号: 128

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-03-12 17:33:35

在file_get_contents之前使用error control operators可能是可行的。

类似于:

代码语言:javascript
复制
if($content = @file_get_contents("http://youtube.com/get_video_info?video_id=" . $video_id))

它应该删除错误,并使用它在if语句中返回false。

否则,您可以只使用try/catch语句(请参阅):

代码语言:javascript
复制
try{
    // Code
}
catch (Exception $e){
    // Else code
}
票数 3
EN

Stack Overflow用户

发布于 2012-03-12 17:44:06

对远程URL使用file_get_contents()是不安全的。在YouTube API2.0中使用cURL:

代码语言:javascript
复制
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://gdata.youtube.com/feeds/api/videos/' . $video_id);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$response = curl_exec($ch);
curl_close($ch);

if ($response) {
    $xml   = new SimpleXMLElement($response);
    $title = (string) $xml->title;
} else {
    // Error handling.
}
票数 11
EN

Stack Overflow用户

发布于 2013-04-01 04:02:47

这是我的解决方案。它很短。

代码语言:javascript
复制
$id = "VIDEO ID";
$videoTitle = file_get_contents("http://gdata.youtube.com/feeds/api/videos/${id}?v=2&fields=title");

preg_match("/<title>(.+?)<\/title>/is", $videoTitle, $titleOfVideo);
$videoTitle = $titleOfVideo[1];
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9664482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档