我的網站被設計成一個有趣的圖片網站,當用戶點擊任意按鈕,在同一頁上的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