web-dev-qa-db-ja.com

ブラウザのキャッシュ画像の問題

多くのサイト管理者は常にこの種の問題に対処する必要があると確信していますが、私は自分で本当に良い簡単な解決策を持っていません。サーバー上の既存のイメージを上書きするとどうなります。サイト訪問者のブラウザには古いブラウザが表示されたままであり、更新された画像(およびそのためのスタイルシート)を表示するには更新する必要があります。

古い名前を使用して新しい画像があるときにブラウザをtrickしてキャッシュを更新する簡単な解決策はありますか?そしてもちろん、画像の名前を変更することは明らかな解決策ですが、これについては我慢してください、それは常に良い解決策ではないと仮定してください...

そして、これはDrupalサイトのためのものです。

=============================

答え:以下の答えに基づいて、私は現在このコードを使用しています:

<?php
echo 'niceimage.jpg?'.date("dmHi", filemtime('niceimage.jpg'));
?>

これにより、画像ファイルの変更日に基づいて、画像ファイルが変更されるたびに画像クエリ文字列が自動的に更新されます。

4
Michael D

これを行う一般的な方法の1つは、次のようにファイルの名前にクエリ文字列を追加することです。

/images/coolpic.png?randomchars

クエリ文字列を追加すると、基本的にファイルの名前が変更され、ブラウザがファイルを取得します。クエリ文字列は、画像やスタイルシート、その他の静的ファイルには明らかに役に立たないため、無視され、何も壊しません。

3
John Conde