我正在尝试在我正在开发的网站上保留已发布视频的数据库。为了能够做到这一点,我必须将视频的URL存储到数据库中,然后我使用php和sql从数据库中调用url,这样做是为了记住我在我的主页上使用php定义的区域。如果我使用此代码,它适用于其他视频帖子网站!
echo '<iframe width="640" height="390" src="', $row['Post_URL'],'"frameborder="0" allowFullScreen></iframe>';
这不起作用,它说内容无法在一个框架中显示,但如果我这样做,它就有效。
<?php
echo '<iframe width="560" height="315" src="http://www.youtube.com/embed/wardQ7W8hPU" frameborder="0" allowfullscreen></iframe>';
?>
为什么一个正常工作而另一个没有?有什么方法可以解决这个问题,所以我可以从数据库调用php并将其回显,以便在页面上正确显示?
答案 0 :(得分:5)
我今天遇到了同样的问题。正如其中一条评论中所述,问题是使用的网址......
iframe嵌入仅适用于以下网址:
http://www.youtube.com/embed/[video_id]
大多数人都在使用“共享”功能,这会生成缩小的网址,例如:
http://youtu.be/[video_id]
但是,如果您查看“嵌入”功能,您会发现它会像第一个示例一样使用src网址生成iframe。
所以要回答这个问题,在使用iframe嵌入时,请像第一个例子一样使用src url。
答案 1 :(得分:0)
试试这个
<iframe width="640" height="390" src="<?php echo $row['Post_URL'] ?>" frameborder="0" allowFullScreen></iframe>
或者这个
<?php
echo "<iframe width='640' height='390' src='{$row['Post_URL']}' frameborder='0' allowFullScreen></iframe>";
?>
或者这个
<?php
echo "<iframe width='640' height='390' src='" . $row['Post_URL'] . "' frameborder='0' allowFullScreen></iframe>";
?>
它们都是相同的,并且将执行相同的过程。
答案 2 :(得分:0)
我正在使用动态数据执行此操作,客户端更容易使用youtube共享链接。 所以...这只是从该网址获取YouTube视频ID的问题。
// we can't use the "share" link so need to just get the video ID
$youtubePath = parse_url($youtubeShareLink,PHP_URL_PATH);
$youtubeId = str_replace('/','',$youtubePath);
现在我们可以在iframe中使用ID(在youtube中调整每个嵌入选项的宽度和高度)
<iframe width="560" height="315" src="//www.youtube.com/embed/<? echo $youtubeId; ?>?rel=0" frameborder="0" allowfullscreen></iframe>