在 PHP 脚本发送视频后 Return 到原始页面
Return to original page after PHP script send video
有没有办法在视频播放完后跳回原来的页面?
我将 PHP 从 link 调用到 HTML
中的视频
...
<a href="play.php">My Video
...
和play.php发回视频
像这样:
<?php
$CTYP= 'video/mp4';
$VidPath = "../MyVideo.mp4";
header('Content-Type: ' . $CTYP);
$VidFl = fopen($VidPath, "rb");
$VidContent = fread($VidFl, filesize($VidPath));
fclose($VidFl);
echo $VidContent;
?>
谢谢
根据我收到的反馈更新了部分解决方案,我更新了 php 脚本以发送回
...
<a href="play.php">My Video
...
我的play.php文件是这样的
<?php
$VidPath = "../MyVideo.mp4";
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<link rel="stylesheet" href="video.css" media="screen,print" />'
<title>Test Video play list</title>
<meta charset="utf-8" />
</head>
<body>
<video id="MyVideo" height="auto" width="auto" controls autoplay > <source src=<?php echo $VidPath; ?> type="video/mp4"> </video>
<script>
var vid = document.getElementById("MyVideo");
vid.onended = function() {
history.back();
};
</script>
</body>
</html>
这是一个不错的选择:
- 在空页面中播放视频并使用 CSS 设置样式,因此看起来几乎像没有任何 JS 或外部代码的灯箱
- 视频结束后,我可以自动跳回原列表
但还是不行:
- 指定网站根文件夹之外的路径
- firefox 似乎不想自动播放,所以需要额外点击
- 在与我的 index.html 相同的页面播放视频,看起来像灯箱效果
希望得到更多提示
D
对于有类似问题的任何人的最终更新,它现在是根据建议修改原始方法的工作版本(可能应该更仔细地阅读以避免 运行 围绕解决方案:)。
所以 index.html 带有
....
<tr><td>
<video height="auto" width="200" controls >
<source src="play.php?play_video=101" type="video/mp4">
</video>
</td> <td>Lecture 101....</td>
</tr><tr><td>
<video height="auto" width="200" controls >
<source src="play.php?play_video=102" type="video/mp4">
</video>
</td> <td>Lecture 102....</td>
</tr>
....
和play.php return 像原来一样流到 href link 标签
<?php
include 'dblog.php';
if ( ($_SERVER['REQUEST_METHOD'] === "GET")
&& ( isset($_GET['play_video']) ) ) {
if ($_GET['play_video'] == "101") {
$file_path_name = "../../DVD/Lecture-101.mp4";
} elseif ($_GET['play_video'] == "102") {
$file_path_name = "../../DVD/Lecture-102.mp4";
}
$ctype= 'video/mp4';
header('Content-Type: ' . $ctype);
$handle = fopen($file_path_name, "rb");
$contents = fread($handle, filesize($file_path_name));
fclose($handle);
write_vid_log($_GET['play_video'], $DB, 'start');
echo $contents;
} else {
echo "alert(I'm Sorry wrong link)";
}
?>
因此,现在可以在 www 根文件夹之外提供 links,并在客户端点击时播放视频。还有一些挑战:
- link 媒体文件很容易下载,即使没有显示路径和文件名,所以我需要使用 PHP 脚本在流式传输视频文件之前检查用户及其权限
- 使用 CSS 调整视频大小并使其在页面上居中,点击播放后,就好像在灯箱中播放一样。看起来即使没有任何 JS 也是可能的
任何额外的建议,将不胜感激
有没有办法在视频播放完后跳回原来的页面? 我将 PHP 从 link 调用到 HTML
中的视频...
<a href="play.php">My Video
...
和play.php发回视频 像这样:
<?php
$CTYP= 'video/mp4';
$VidPath = "../MyVideo.mp4";
header('Content-Type: ' . $CTYP);
$VidFl = fopen($VidPath, "rb");
$VidContent = fread($VidFl, filesize($VidPath));
fclose($VidFl);
echo $VidContent;
?>
谢谢
根据我收到的反馈更新了部分解决方案,我更新了 php 脚本以发送回
...
<a href="play.php">My Video
...
我的play.php文件是这样的
<?php
$VidPath = "../MyVideo.mp4";
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<link rel="stylesheet" href="video.css" media="screen,print" />'
<title>Test Video play list</title>
<meta charset="utf-8" />
</head>
<body>
<video id="MyVideo" height="auto" width="auto" controls autoplay > <source src=<?php echo $VidPath; ?> type="video/mp4"> </video>
<script>
var vid = document.getElementById("MyVideo");
vid.onended = function() {
history.back();
};
</script>
</body>
</html>
这是一个不错的选择:
- 在空页面中播放视频并使用 CSS 设置样式,因此看起来几乎像没有任何 JS 或外部代码的灯箱
- 视频结束后,我可以自动跳回原列表
但还是不行:
- 指定网站根文件夹之外的路径
- firefox 似乎不想自动播放,所以需要额外点击
- 在与我的 index.html 相同的页面播放视频,看起来像灯箱效果
希望得到更多提示 D
对于有类似问题的任何人的最终更新,它现在是根据建议修改原始方法的工作版本(可能应该更仔细地阅读以避免 运行 围绕解决方案:)。
所以 index.html 带有
....
<tr><td>
<video height="auto" width="200" controls >
<source src="play.php?play_video=101" type="video/mp4">
</video>
</td> <td>Lecture 101....</td>
</tr><tr><td>
<video height="auto" width="200" controls >
<source src="play.php?play_video=102" type="video/mp4">
</video>
</td> <td>Lecture 102....</td>
</tr>
....
和play.php return 像原来一样流到 href link 标签
<?php
include 'dblog.php';
if ( ($_SERVER['REQUEST_METHOD'] === "GET")
&& ( isset($_GET['play_video']) ) ) {
if ($_GET['play_video'] == "101") {
$file_path_name = "../../DVD/Lecture-101.mp4";
} elseif ($_GET['play_video'] == "102") {
$file_path_name = "../../DVD/Lecture-102.mp4";
}
$ctype= 'video/mp4';
header('Content-Type: ' . $ctype);
$handle = fopen($file_path_name, "rb");
$contents = fread($handle, filesize($file_path_name));
fclose($handle);
write_vid_log($_GET['play_video'], $DB, 'start');
echo $contents;
} else {
echo "alert(I'm Sorry wrong link)";
}
?>
因此,现在可以在 www 根文件夹之外提供 links,并在客户端点击时播放视频。还有一些挑战:
- link 媒体文件很容易下载,即使没有显示路径和文件名,所以我需要使用 PHP 脚本在流式传输视频文件之前检查用户及其权限
- 使用 CSS 调整视频大小并使其在页面上居中,点击播放后,就好像在灯箱中播放一样。看起来即使没有任何 JS 也是可能的
任何额外的建议,将不胜感激