繁体   English   中英

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

[英]Image doesnt refresh after PHP redirection (cache issue?)

问题是下一个:我在 main.php,我调用 php 文件,使用 JavaScript 脚本,将用户的图像与新的服务器同步。 但是在所有文件功能完成(没有问题)之后,我用 header 重定向到 main.php,进行了非常快的刷新但图像没有更新,我一直在看旧文件,但如果我用F5显示新图像。

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

非常感谢。

编辑:为了说清楚。 我尝试过使用标头和重定向中的时间戳,但没有运气。 这是过程:

  1. main.php,一旦用户点击他/她的图像,就会使用 javascript (location.href) 重定向到 update.php。
  2. 我从服务器获取了一个新图像,并将其保存为覆盖前一个图像(因此名称相同)
  3. 我在代码中添加了一些标头,没有 chae 标头......并且位置 header 再次重定向到 main.php 并且我通过 GET 传递了一些参数以及时间戳(time())。
  4. 我到达了 main.php 但重新加载速度很少而且新图像没有显示。

现在我想清楚多了。

谢谢你的帮助。

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

您可能必须使用header function 添加 header ExpiresCache-Control

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

编辑:

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

您必须将时间戳添加到 <img src="path_to_image/image.jpg* ?edited-time-stamp* " />

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

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

<?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;
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM