清除缓存不适用于视频

时间:2016-01-28 15:27:47

标签: php jquery caching video

关于我正在做的事情:

  • 我正在建立一个可以搜索视频的网站。

-I显示内容行,并为显示视频的每一行都嵌入了迷你剪辑。

  • 我使用jQuery.AJAX检索此视频,因此我不需要重新加载页面。

  • 一切正常。我展示了视频,我可以从那些行中播放它们。

  • 对于该页面的管理员,我有一个覆盖该视频的按钮。因此,这将新视频放入原来的位置,取而代之。我在服务器端执行此操作,PHP执行以下代码:

unlink($destination_path.$video_name.".mov");
move_uploaded_file($_FILES['newVideo']['tmp_name'], $destination_path.$video_name.".mov");

然后我使用header("Location: index.php");转到主页面。

问题:

然后,当我在网站上播放新视频时,我会看到旧视频而不是新视频。

  • 我用F5清除缓存:不工作

  • 我使用Ctrl + F5清除缓存:不工作

  • 我将其设置在页面顶部:

无效

  • 关闭浏览器并再次打开(或打开一个新浏览器): 工作

一些额外信息:

  • 视频中的preload attr设置为none。所以我检索没有缓存的视频。当我按下它们时,它们开始加载。

  • 这些文件很好地被淹没了,我也检查了我指向的位置(相同的位置和以前一样)。

  • 如果我去那里的新视频的位置,旧的已经消失了。

  • 发生在所有浏览器上。

看起来浏览器中存在一些缓存内容,或者我的服务器忽略了我这么难。还有其他方法可以清空缓存吗?或者这里发生了什么?

1 个答案:

答案 0 :(得分:2)

您可以尝试在html页面中将时间标记添加到视频的网址中。

$filepath = $destination_path.$video_name.".mov";
$videoUrl = $wwwpath . $filepath . "?" . filemtime($filepath);