PHP重定向后图像不刷新(缓存问题?)


Image doesnt refresh after PHP redirection (cache issue?)

接下来的问题是:我在main.php中调用php文件,使用JavaScript脚本,将用户的图像与服务器上的新图像同步。但是在所有的文件函数完成后(没有问题),我用一个头重定向到main.php,一个非常快的刷新,但图像没有更新,我一直在看旧文件,但如果我用F5刷新页面,新的图像显示。

缓存问题?我已经尝试了一些HTML元标签,但没有运气。任何想法?

谢谢你。

编辑:为了使它清楚。我已经尝试过在重定向中使用标头和时间戳,但没有运气。步骤如下:

  1. main.php,一旦用户点击他/她的图像,一个javascript (location.href)重定向到update.php启动。
  2. 我从服务器得到一个新的图像,并保存它覆盖前一个(所以名称是相同的)
  3. 我在代码中添加了一些头,没有chae头…和位置头再次重定向到main.php,我通过GET传递一些参数,还有一个时间戳(time())。
  4. 我到达了main.php,但加载速度很慢,新图像没有显示。

现在我想清楚多了。

谢谢你的帮助。

您可以在图片的URL中添加?t=foo之类的内容。其中foo为随机字符串或数字。或者是当前的时间戳。这将使浏览器请求一个全新的图像,没有缓存实例将做任何事情。

是的,这是缓存问题,IE通常这样做。我对请求使用always append ?时间戳来避免这种情况。

编辑:

我明白了。我前一段时间也有同样的问题。无论哪种方式,时间戳都是解决方案。

你必须添加时间戳到?

对我有用,希望对你也有用

您可能必须使用标题函数

添加标题ExpiresCache-Control

试试这个方法,希望对你有帮助。

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Location:http://www.test.com");
exit;
?>