在 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 也是可能的

任何额外的建议,将不胜感激