我正在編寫一個php腳本來裁剪圖像。 這個腳本用'new'覆蓋'舊'圖像,但是當我重新加載頁面時(我應該看到新圖像),我仍然看到舊圖像。圖像已更改,但在瀏覽器中顯示相同
如果我檢查我的硬盤(我正在本地計算機上工作),我可以看到圖像已經改變,但HTML沒有拿起它。也許這是一個緩存問題? 我該如何解決它?
感謝, 帕特里克
我正在編寫一個php腳本來裁剪圖像。 這個腳本用'new'覆蓋'舊'圖像,但是當我重新加載頁面時(我應該看到新圖像),我仍然看到舊圖像。圖像已更改,但在瀏覽器中顯示相同
如果我檢查我的硬盤(我正在本地計算機上工作),我可以看到圖像已經改變,但HTML沒有拿起它。也許這是一個緩存問題? 我該如何解決它?
感謝, 帕特里克
確保從未緩存圖像的常用技術是將當前時間以毫秒爲單位添加到圖像網址的末尾作爲參數。您的Web服務器將忽略參數並每次都提供相同的圖像,但是您的瀏覽器(以及任何中間緩存)將註冊緩存未命中,因爲圖像的url不同。
<a href='/images/someimage.png?d= <?php echo(date("U")); ?> '>
如果你確定你的HTML是在合適的文件指點; Ctrl + F5?
是的,指向正確的文件。我已經查閱了頁面源代碼;此外,重新加載顯示新圖像 – patrick 2009-11-09 15:58:30
您是否發送了正確的標題以防止瀏覽器緩存圖像?
例如爲:http://www.badpenguin.org/php-howto-control-page-caching
一些使用squid或其他緩存代理平板電腦的ISP不理會。我的支持服務提供商屬於那個時代的失敗人羣,這就是爲什麼當我的主要連接斷開時我仍然畏縮不前。 – 2009-11-09 15:43:21
是的,這是可能的,但如果我首先查看緩存最常見的問題,然後才能恢復到這種ISP實踐。 – Palantir 2009-11-09 15:48:31
這可能是您的ISP使用緩存代理。檢查網址BrowserShots,看看是否確實如此。我的備份DSL來自提供商,它可以節省帶寬,這非常令人討厭。他們也忽略了每個標題,告訴他們不要這樣做。
嘗試向URL添加時間戳。這可以防止大多數瀏覽器緩存圖像。例如:http://localhost/test.jpg?1257783872
編輯:哦,瑞安已經給出了類似的答案。抱歉。
我的瀏覽器設置爲無法兌現任何東西,所以我近乎瘋狂......謝謝! – Nicsoft 2012-03-28 16:04:53