Youtube视频标题不可用?

时间:2014-04-13 22:18:37

标签: php mysql youtube

这就是我尝试获取YouTube视频标题的方式。

        $url=$_POST['video'];
        $video=explode("=", $url);
        $code = explode("&",$video[1]);
        $video_feed = file_get_contents("http://gdata.youtube.com/feeds/api/videos?v=2&q=".$video[1]."&max-results=1&fields=entry(title)&prettyprint=true");
        $video_obj = simplexml_load_string($video_feed);
        $video_str = $video_obj->entry->title;
        echo $video_str;
        echo $code[0];          
        $sql="INSERT INTO youtube (y_vid,y_name)
        VALUES('".$code[0]."','".mysql_real_escape_string($video_str)."')";
        mysql_query($sql);

它适用于localhost,但在其他服务器上它不保存标题。请帮我。

2 个答案:

答案 0 :(得分:0)

我已经在随机视频网址上​​测试了您的代码,它运行良好。只有可能导致问题的是您正在=上爆炸第一个字符串,视频网址可以包含多个=,所以我将其更改为:

$video=explode("v=", $url);

答案 1 :(得分:0)

  

警告:file_get_contents():http://封装器被禁用   服务器配置by allow_url_fopen = 0

这意味着您已在php.ini中禁用了allow_url_fopen。您需要通过更改php.ini来打开它,或者您可以使用:

  

ini_set('allow_url_fopen',1);

或者,您可以使用curl代替file_get_contents(),例如this answer。它也适合我。