回答
您可以使用從軌道借用一招,最後文件的修改時間追加到包括:
$fileName = 'image.jpg';
$httpLink = $fileName . '?' . filemtime($fileName);
echo '<img src="', $fileName, '" alt="blah" />';
這將輸出像
<img src="image.jpg?1002412" alt="blah" />
然後,當文件發生變化時,一個鏈接查詢字符串也將更改,瀏覽器將請求「新」文件即
<img src="image.jpg?1003622" alt="blah" />
或者,您可以保留文件修訂版的本地日誌,並從數據庫中讀取版本號,而不是文件系統,這可能稍微快一些(並且保存文件系統讀取,儘管它沒有顯着差異 - 取決於數據庫與Web服務器負載)。
嘿,多漂亮的主意! 'filemtime'在性能上也相當簡單。太好了! – 2010-05-03 16:43:21
現在,這是一個很棒的技巧,不知道那個:O – lamas 2010-05-03 16:43:22
如果你使用PATH_INFO,這將工作**更好**(如果URL不以擴展名結束,瀏覽器可能會挑剔)。 – 2010-05-03 16:45:23
- 1. 如何在UIL中實現兩種緩存策略
- 2. 如何在控制器中實現策略模式
- 3. PHP/Magento - 緩存策略
- 4. 在php中的緩存策略
- 5. 緩存策略
- 6. 如何使用linq2sql存儲庫在我的Asp.net Mvc中實現緩存策略?
- 7. Akamai緩存策略
- 8. NSURLRequest緩存策略
- 9. iOS緩存策略
- 10. ServiceStack緩存策略
- 11. 緩存策略,AFNetworking
- 12. 緩存策略有更好的表現
- 13. 實體和集合的緩存策略
- 14. 高效的PHP緩存策略?
- 15. 如何爲整個頁面實現緩存除用戶控制?
- 16. 這個特定場景中的最佳緩存策略
- 17. 文件支持UIImageView與NSURL緩存控制策略
- 18. Durandal緩存問題/版本控制策略
- 19. Firebase +滑翔,緩存策略
- 20. Membase緩存過期策略
- 21. Android MapView POI緩存策略
- 22. Rails碎片緩存策略
- 23. 使用IQueryables緩存策略
- 24. 瞭解緩存策略
- 25. parse.com的緩存策略
- 26. UIImageView緩存策略-AFNewtorking
- 27. Azure緩存組策略
- 28. 安裝HLS緩存策略
- 29. Azure網站緩存策略
- 30. iOS:AFNetworking的AFHTTPSessionManager緩存策略
它是一個靜態的'.html'頁面還是'.php'頁面?瀏覽器不會緩存動態頁面('.php','.asp'等) – Andy 2010-05-03 16:52:00
它是'.php',我們可以改變這種行爲嗎? – user198729 2010-05-03 16:54:20
我不這麼認爲,你必須把你的腳本的輸出寫到一個'.html'文件並代替它。 – Andy 2010-05-03 16:57:22