MacBSの日常生活的日記

画像をキャッシュさせない方法

先日からサイドメニューにiTunesで再生している曲を表示させるように
してありますが、ブラウザによっては画像だけ、古いジャケットが
表示されることがあるようで。

画像の名前が変化しないので、ファイルが入れ替わったことを認識
しないのでしょうね。
Webサーバの設定でキャッシュしないようにすることも可能ですが、
あまり複雑なことはしたくないので、PHPでなんとかならないか
調べてみました。

すると、まさにずばりな記事を発見。
http://webtech-walker.com/archive/2007/03/07112848.html

ファイル名の後ろにクエリー文字列を付けるやり方ですね。
いぬリンクなどでも使われている方法です。

ただ、記事の通りだと、閲覧するたびに取得しに行って、まったく
キャッシュされません。
ですので、少し修正して、クエリー文字列にファイルの最終更新日時を
セットするようにしてみました。

具体的にはfilemtime()という関数を使いました。
これで画像ファイルが変更されない限り、同じになりますから、
再生曲が長く変更されない場合はキャッシュが有効になるはずです。

それにしてもAppleScriptからの更新は、なかなか快適です。
ちかいうちにVBScriptも作ろうかな。

モバイルバージョンを終了