2012-07-02 96 views
3

你好,我有一個動態創建圖像的php文件。基本上它在img上添加一個文本。林稱他們這樣的HTML沒有問題從img獲取img並重新加載

<img src="img.php?session=<?php echo $session; ?>" /> 
<img src="img.php?session=<?php echo $session; ?>" /> 

現在,如果在服務器上改變形象,我從HTML圖像並沒有改變再次調用此,我必須做一個完整的頁面刷新才能看到新的形象。 [編輯]我也注意到它在Chrome上運行正常。我只有在Firefox的這個問題,它像igonring <meta http-equiv="Cache-Control" content="no-cache/>

+0

刷新頁面時加載圖片時顯示圖片?在這種情況下,您可以在''標記中添加一些javascript以重新加載頁面。因此:'onClick =「window.location.href = window.location.href」'或'onClick =「window.location.reload()」' – ClydeFrog

回答

1

我採用的解決方案如下。

var ts = Math.round((new Date()).getTime()/1000); 
<img src="img.php?session=<?php echo $session; ?>&time=' + ts + '" /> 
2

這不必與您的PHP,但與您的瀏覽器。瀏覽器緩存圖像,因此需要全面刷新。您應該能夠通過你的HTML之間添加此head標籤

<meta http-equiv="CACHE-CONTROL" content="NO-CACHE" /> 

編輯來解決這個 貌似有一個其他http-equiv,可以做同樣的事情:

<meta http-equiv="Pragma" content="no-cache" /> 
<meta http-equiv="Expires" content="-1" /> 
+0

我已經完成了這個沒有任何運氣 –

+0

你可以發佈所有的HTML那麼呢? – JRSofty

1

你可以添加No Cache使用header()的圖像標題。

1

在圖像源的末尾添加一個隨機數,然後它將始終從服務器獲取圖像,因爲它無法在緩存中找到。