基本上我有以下代码可以根据其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>
任何人都知道如何制作它以便这样做?
答案 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的网址进行外部链接,然后将视频文件加载到播放器中。