关于我在做什么:
- 我正在做一个网站,你可以在其中搜索视频。
-我显示一行内容,每行显示一个视频,嵌入一个迷你剪辑。
-
我使用 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);