【问题标题】:PHP Video Url with GET带有 GET 的 PHP 视频网址
【发布时间】:2013-11-20 18:58:40
【问题描述】:

所以我有一个带有以下源代码的视频播放器。

<video width="320" height="240" controls>
  <source src=<?php echo $tryOne; ?> type="video/mp4">
</video>

它会回显类似于下面的内容并将其作为源视频插入。

'176.227.210.66/Kuroko%20no%20Basket%202%20Episode%205.mp4?st=zEws3h1Xg-to07f3as6KqA&e=1385059955'

但是,播放器不会加载视频。如果我打开页面源并将生成的 url 复制到地址栏并回车,它将转到直接 url 并加载视频就好了。我认为播放器不会加载 url,因为它有 GET 变量,我需要知道如何解决这个问题。请告诉我如何使用 GET 变量从上述 url 将视频加载到播放器中。

注意:如果视频名称不带 get 变量,播放器将正常加载视频。

【问题讨论】:

  • 你确定是 MP4 吗?
  • 根据我的经验,视频标签对文件格式和类型非常挑剔。只是我的2美分。验证问题不只是缺少“http://”的另一种方法是将整个内容以纯 html 格式放入并查看它是否有效。

标签: php url variables video get


【解决方案1】:

根据HTML specification for &lt;video&gt;,您需要一个有效的网址:

src = 可能被空格包围的非空 URL。 视频的 URL。

在这种情况下,它缺少协议信息 (http://) 并且未被识别为视频 src。更改$tryOne 的值以包含协议信息或在输出到页面时手动将其添加到变量中。对字符串进行 URL 编码也是一个好主意。

例如:

<video width="320" height="240" controls>
  <source src=<?php echo 'http://'.urlencode($tryOne); ?> type="video/mp4">
</video>

Live demo.

【讨论】:

  • 这很可能是答案。浏览器在地址栏中输入 URL 时添加它,但显然不在源代码中......我会放入变量而不是 echo 原因,在这种情况下,协议可能是我看到它的地址的一部分跨度>
  • @Bartdude:是的,添加http:// 应该可以解决问题。我已经用演示更新了答案以证明这一点。 :)
猜你喜欢
  • 2016-05-24
  • 2013-09-10
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2013-03-08
  • 2016-01-28
  • 1970-01-01
相关资源
最近更新 更多