2013-08-18 123 views
0

我知道還有其他關於禁用緩存的文章。我已經閱讀了所有我能找到並且仍然存在問題的文章,所以請善待,不要因爲開始一個新的主題而開除我。是否可以使用代碼禁用瀏覽器緩存?

這是處理,我正在一個網站上,房東可以用它來列出他們的所有屬性。這就像一個房地產經紀人將使用的基於MLS的網站。

我遇到的問題對我來說不會是問題,但對於我的客戶來說不是很明亮(我可以說,她是家庭成員)。一旦設置了一個屬性並且上傳了所有的各種圖片,就可以選擇編輯這些數據以及刪除任何現有的圖片。如果你刪除一張圖片,一切運作良好,但瀏覽器緩存使它看起來好像什麼也沒有發生。點擊F5(在Firefox中)刷新頁面,看起來應該如此。

問題與我選擇如何命名上傳的照片有關。照片被重命名使用屬性地址信息與附加的圖片號碼。例如:3505Cardinalpic1.jpg,3505Cardinalpic2.jpg,3505Cardinalpic3.jpg等。如果我要刪除第一個,例如,下列圖片被重新命名以保持命名順序不變。例如,他們會來3505Cardinalpic1.jpg和3505Cardinalpic2.jpg。倖存的圖片是來自預先存在的序列3的第2張和第3張圖片。

當一張圖片被刪除後頁面重新加載時,它從緩存中加載圖片,因爲文件名沒有改變,只有源文件本身。

我想我可以通過重寫我的PHP來處理圖片,以便文件名附加時間戳或使每個名稱仍然可以識別,但獨特但我想確保沒有更容易在我進入這個領域之前,我需要做一些有用的事情。

我故意不發佈代碼,因爲我不認爲這是代碼問題,問題描述已經足夠長。如果你想看到我的代碼的一部分,只是問。

我已經試過這沒有運氣:
test php disabled caching

我試過追加我有時間戳網址,使其獨特的,沒有幫助。

先感謝您的任何意見。

+0

你爲什麼要重寫現有的文件名?強制瀏覽器始終重新加載每個映像(不使用緩存)並不是一種好的做法。最好的情況是,你得到的瀏覽器不緩存,然後認爲應用程序的性能不會很好。 – RobM

+0

使用php的readfile()加載圖像。在那裏你可以使用PHP頭來防止緩存 – arnab321

+0

我相信你可以禁用客戶端計算機上的特定網站的緩存。 – 2013-08-18 02:16:32

回答

0

要強制瀏覽器不緩存文件,請使用更改的參數進行鏈接。如果你這樣做:

<img src="3505Cardinalpic2.jpg?001"/>

,只是後,即

<img src="3505Cardinalpic2.jpg?002"/>

瀏覽器將刷新形象,因爲他不知道這是一樣的。如果你不想緩存,你可以把一個時間戳作爲參數。

但禁用緩存並不好,所以也許只有在相冊中有修改時纔可以更改該值。

+0

這很有趣。我會給你一個鏡頭。謝謝。我知道我需要回去解決問題的根源,並計劃做到這一點,但我現在沒有太多時間深入研究這個問題 – user2206082

+0

這很有效。感謝您的快速和外部響應。 – user2206082

相關問題