如何从MySQL数据库获取Youtube网址?

时间:2015-04-24 11:55:50

标签: php mysql video youtube

我试图通过此代码显示已提交的YouTube视频列表

B b;
A a(std::move(b)); // select the templated constructor (which moves)

A a(b);  // selects the same copy constructor (which moves but we do not want!!

但是由于以下错误,视频无法显示: 拒绝展示' https://www.youtube.com/watch?v=_whatever'在一个框架中因为它设置了X-Frame-Options'到' SAMEORIGIN'

1)这是否与测试本地主机上的代码有关,并且可能在上传到真实域时解析?

2)这是通过php表单和mysql数据库回传youtube视频的好方法吗?

3)我能做些什么来解决这个问题?

注意:在使用Google搜索错误后,我了解到了youtube不允许其iframe显示在任何其他域上的内容,但这就是为什么我想知道本地主机"域名"域& #34;可能会导致这个......

2 个答案:

答案 0 :(得分:1)

您需要在数据库中保存视频的嵌入网址。然后你可以这样使用

 <object width="420" height="315"
data="http://www.youtube.com/embed/XGSy3_Czz8k">
</object>

或第二种方法是

<embed width="420" height="315"
src="http://www.youtube.com/embed/XGSy3_Czz8k">

之后,此代码将起作用。

while ($row = mysqli_fetch_assoc($qry)) {
            echo  "
            <iframe width=\"160\" height=\"120\"  frameborder=\"0\" allowfullscreen src=".$row['videourl']."></iframe>
        </div>";
}mysqli_free_result($qry);

第二个选项是

只需选择链接末尾的视频代码

即可

例如

来自此链接的

http://www.youtube.com/watch?v=Ahg6qcgoay4获取Ahg6qcgoay4并在您的代码中创建http://www.youtube.com/v/Ahg6qcgoay4之类的链接

然后使用类似的东西

 while ($row = mysqli_fetch_assoc($qry)) {
                echo  "
                <iframe width=\"160\" height=\"120\"  frameborder=\"0\" allowfullscreen src='http://www.youtube.com/v/".$code."'></iframe>
            </div>";
    }mysqli_free_result($qry); 

答案 1 :(得分:0)

  1. 处理此问题的最佳方法是在将URL保存到数据库之前拆分URL并从中提取_whatever

  2. 当您从数据库中提取数据时,请执行以下操作:

    <iframe width='160' height='120' frameborder='0' allowfullscreen src='http://www.youtube.com/embed/".$row['videourl']."'></iframe>

  3. Youtube网址的原因通常是两种类型

     i. 'https://www.youtube.com/watch?v=_whatever'
    ii. 'https://www.youtube.com/embed/_whatever'
    

    使用<iframe>网址时,更好的做法是使用ii.网址