我的网站被设计成一个有趣的图片网站,当用户点击任意按钮,在同一页上的PHP代码生成一个新的随机图片,这是它是如何工作的。然而,我必须按F5按钮才能获得新图像。PHP URL字符串,以避免浏览器缓存
我正在读的另一个问题是人们使用get日期,并获得在链路的末端产生的,以避免浏览器缓存时间查询字符串,但是我无法弄清楚了我的生活。
我不是很好用PHP,所以请说,如果我只知道基本的网页结构。谢谢!
我的网站被设计成一个有趣的图片网站,当用户点击任意按钮,在同一页上的PHP代码生成一个新的随机图片,这是它是如何工作的。然而,我必须按F5按钮才能获得新图像。PHP URL字符串,以避免浏览器缓存
我正在读的另一个问题是人们使用get日期,并获得在链路的末端产生的,以避免浏览器缓存时间查询字符串,但是我无法弄清楚了我的生活。
我不是很好用PHP,所以请说,如果我只知道基本的网页结构。谢谢!
你所描述被称为缓存断路器,通常是一个随机字符串或附加到URL的时间戳。当你引用你的形象,在前面加上这样的:
echo get_random_image_url() . '?' . time();
这将导致URL看起来像这样:
http://your.server.com/random.jpg?1355862360
注:get_random_image_url
仅仅是一个例子,但我确定你明白了。
这个线程可能会感兴趣:How to force a web browser NOT to cache images。
其实际引用了一个PHP文件,从我的托管中抽取一个随机有趣的图像。我很抱歉,我对CSS和html非常好,但我刚刚在几个月前开始学习。任何更多的帮助将不胜感激。 –
这是很容易解决:例如, 检查以下两个链接:
http://cdn.arstechnica.net/wp-content/uploads/2012/10/06_Place_20773_1_Mis.jpg
http://cdn.arstechnica.net/wp-content/uploads/2012/10/06_Place_20773_1_Mis.jpg?randomValue
无论是两个环节将是开放相同的图像。
这是您的解决方案!你必须在你的图像文件的末尾添加名称为随机值:
image.png?<?php echo someRandom();?>
这个社区或谷歌的方式来写gemnerates随机值的函数。
也有使用javascript的解决方案是,suupose以下
<img id="funny" src="scripts/php_rand_image.php" />
<a href="javascript:changeImage('funny')">Get another image</a>
<script>
function changeImage(ob){
image = document.getElementById(ob)
d = new Date();
image.src = image.src+'?'+d.getTime();
}
</script>
您必须注意:someRandom()是您必须编写的自定义函数。 someRandom()应该作为图片url的后缀。另一方面,我建议使用JavaScript依赖的解决方案。 – SaidbakR
我想用头比URL招
<?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
?>
太好了,我可以将它放在网页结构的任何位置吗?恩。头,身体 –
学会更好地去设置头更好,比使用那'欺骗' – 2012-12-18 19:19:51