我正在尝试通过此代码显示提交的 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/