php - 如何从 MySQL 数据库中获取 Youtube url?

标签 php mysql video youtube

我正在尝试通过此代码显示提交的 YouTube 视频列表

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

但是由于以下错误,视频没有显示: 拒绝显示'https://www.youtube.com/watch?v=_whatever ' 在框架中,因为它将 'X-Frame-Options' 设置为 'SAMEORIGIN'。

1) 这与在本地主机上测试代码有什么关系吗?上传到真实域时可能会解析吗?

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

3)我能做些什么来克服这个问题?

注意:在谷歌搜索错误后,我了解到它与 youtube 不允许其 iframe 在任何其他域上显示有关,但这就是为什么我想知道本地主机“域”是否可能导致此...

最佳答案

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

 <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); 

关于php - 如何从 MySQL 数据库中获取 Youtube url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29846920/

相关文章:

php - 如何为 WooCommerce 中的未登录用户禁用特定插件?

javascript - 如何在 php 表中添加选项标签并将选定的值传递给 mysql db 而无需提交按钮?

mysql - 合并拉零作为值

返回 NULL 的 PHP MySQL 查询

video - 如何设置 VTCompressionSession 的 MaxH264SliceBytes 属性

php - Sed 替换 <?用 <?php

php - 如何搜索多个字段(SQL、PHP)?

php - CodeIgniter 在 Html 的每个实例上迭代输出行

php - ffmpeg 不从图像创建视频

html - 如何在页面加载时完全加载 HTML5 视频?