如何在每次访问页面时运行php脚本?

时间:2011-04-30 11:31:21

标签: php rotator

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

编辑:事实证明,编码一定存在一些问题。我发现了一个更好的代码here,如果我在每个链接上使用不同的查询,它就有效。感谢所有提交答案的人!

3 个答案:

答案 0 :(得分:2)

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

您的浏览器看到每个“旋转”的图片都使用相同的网址,因此它会缓存第一个请求中生成的图片。

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

  1. 使用来自php的随机字符串后缀“旋转”的图片网址。例如(“rotate.php?img = my_static_image.jpg& x = 12345”这意味着浏览器会为每张图片发出新的请求。

  2. 如果没有额外的参数,请将您的轮播文件redirect设为随机网址。

答案 1 :(得分:0)

您可以使用GET参数'img'。

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

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

答案 2 :(得分: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()功能。