使用_GET URL作为视频源

时间:2013-07-18 19:58:58

标签: php url video get

基本上我有以下代码可以根据其id值获取视频。

<?php 
   if (isset($_GET["id"])) {
   $id = $_GET["id"];
   $video = "vid" . $id;
   echo "<video controls><source src='{$video}' type='video/mp4'></video>";
     } else {
       echo "File not found.";
   }
?>

因此,如果您转到http://www.animesour.com/video.php?id=555.mp4,则会加载名为vid555.mp4的视频(有效)。

但是,当我尝试在此代码中加载该网址时,它将不会加载视频。

<video tabindex="0" controls="controls">
   <source src="http://www.animesour.com/video.php?id=555.mp4" type="video/mp4">
</video>

任何人都知道如何制作它以便这样做?

4 个答案:

答案 0 :(得分:0)

当您直接嵌入为src时,您需要直接加载视频,因为您的代码添加了使第二个选项不正确的输出,例如:

直接观看视频的网址为:http://www.animesour.com/vid555.mp4

<video tabindex="0" controls="controls">
   <source src="http://www.animesour.com/vid555.mp4" type="video/mp4">
</video>

如果您仍想使用video.php?id=555.mp4,则需要更改PHP以读取要传输的文件。

答案 1 :(得分:0)

您拥有的网址不是来源。它是指向将加载源的脚本的链接。它不是将其作为源,而是需要指向文件结构中包含视频的位置。因此,您需要在代码中构建结构并将其回显给标记。

<?php 
   if (isset($_GET["id"])) {
       $id = $_GET["id"];
       $video = "vid" . $id;
       echo "<video tabindex=\"0\" controls=\"controls\">";
       echo "<source src=\"{$video}\" type=\"video/mp4\">";
       echo "</video>";
   } else {
       echo "File not found.";
   }
?>

答案 2 :(得分:0)

我已经测试了您的代码,但对我来说都不起作用(访问您发布的网址,或使用网址作为来源)

视频播放器同时出现在视频播放器上,但视频播放器均未播放。

答案 3 :(得分:0)

好的,我设法做到了。我刚刚将第一个代码更改为

<?php
$id = $_GET["id"];
$file = "vid" . $id . ".mp4";

if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>

我现在可以在iframe中使用带有?id = 555的网址进行外部链接,然后将视频文件加载到播放器中。