1

我正在使用这个图像旋转器。这很棒,但是如果我在一个页面上多次链接到它,它会显示相同的图像。我不知道它会被访问多少次,所以使用多个相同的脚本是不切实际的。如何修改此脚本,以便在使用相同的 url 时可以在页面的其他位置获得不同的图像?是否可以?

编辑:事实证明,编码一定有问题。我在这里找到了更好的代码,如果我在每个链接上使用不同的查询,它就可以工作。感谢所有提交答案的人!

4

3 回答 3

2

为每个实例传递不同的查询字符串,以便浏览器多次检索它。

您的浏览器看到每个“旋转”图像都使用相同的 URL,因此它会缓存第一个请求的结果图像。

您可以通过两种方式更改此行为。

  1. 使用 php.ini 中的随机字符串为您的“旋转”图像 URL 后缀。例如 ( "rotate.php?img=my_static_image.jpg&x=12345"这意味着浏览器对每张图片都提出新的请求。

  2. 如果它没有接收额外的参数,则将您的旋转脚本重定向到随机 url。

于 2011-04-30T11:33:03.147 回答
0

您可以使用 GET 参数“img”。

/path/to/images/rotate.php?img=my_static_image.jpg

您可以在文档中找到有关默认 GET 参数的更多信息:http ://www.alistapart.com/articles/randomizer/

于 2011-04-30T11:36:44.807 回答
0

如果您想保持 URL 相同,那么只需在您的 php 脚本中添加一个 no-cache 标头,如下所示:

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

希望任何半体面的浏览器都会尊重这一点,并且不会缓存第一个请求。

您的另一个选择是修改您的rotate.php脚本,使代码包含在一个函数中。然后,您将include('rotate.php');在脚本顶部使用并rotate()在任何需要的地方使用新功能。

于 2011-04-30T12:02:10.200 回答