清除缓存不适用于视频


Clearing cache doesn't work for videos

关于我在做什么:

  • 我正在做一个网站,你可以在其中搜索视频。

-我显示一行内容,每行显示一个视频,嵌入一个迷你剪辑。

  • 我使用 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吸引力设置为 none 。所以我在没有缓存的情况下检索我的视频。当我按下播放时,它们开始加载。

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

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

  • 发生在所有浏览器上。

看起来浏览器中有一些缓存内容,或者我的服务器非常忽略我。还有其他方法可以清空缓存吗?或者这是怎么回事?

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

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