回答
您可以使用從軌道借用一招,最後文件的修改時間追加到包括:
$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. 如何在控制器中實現策略模式
- 2. PHP/Magento - 緩存策略
- 3. 在php中的緩存策略
- 4. 緩存策略
- 5. 如何使用linq2sql存儲庫在我的Asp.net Mvc中實現緩存策略?
- 6. NSURLRequest緩存策略
- 7. Akamai緩存策略
- 8. 如何爲整個頁面實現緩存除用戶控制?
- 9. Durandal緩存問題/版本控制策略
- 10. 文件支持UIImageView與NSURL緩存控制策略
- 11. Rails碎片緩存策略
- 12. Firebase +滑翔,緩存策略
- 13. Membase緩存過期策略
- 14. 星火緩存策略
- 15. 使用IQueryables緩存策略
- 16. Android MapView POI緩存策略
- 17. 安裝HLS緩存策略
- 18. URL控制器映射策略(PHP)
- 19. 如何使用PHP實現緩存GD
- 20. 什麼樣的緩存策略最適合這個問題?
- 21. 如何在hdiv中更改緩存清除策略
- 22. 如何在Android中實現ListView緩存
- 23. 如何在MongoDB中實現緩存?
- 24. 存在新對象的緩存策略導致緩存失效
- 25. 源代碼控制策略
- 26. 版本控制策略
- 27. 版本控制策略
- 28. 如何實現VaryByCustom緩存?
- 29. 如何在Haskell Control.Parallel.Strategies中制定策略?
- 30. 如何在PHP中實現原型緩存系統?
它是一個靜態的'.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