如何到处走动此内容无法在框架中显示? (Youtube问题)

时间:2012-12-06 11:10:04

标签: php youtube-api

我正在尝试在我正在开发的网站上保留已发布视频的数据库。为了能够做到这一点,我必须将视频的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并将其回显,以便在页面上正确显示?

3 个答案:

答案 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>