PHPで画像を擬似的にキャッシュさせない方法

PHPで画像をブラウザにキャッシュさせない方法です。

参考url:
http://webtech-walker.com/archive/2007/03/07112848.html

Web上でフォームを用いて画像をアップする際などに、画像がブラウザにキャッシュされて、いちいちリロードしないと画像が切り替わらないで困った事はありませんか?

自分はあります。はい。そこで、調べました。

そうしたら、上記「Webtech Walker」さんで解決方法がありましたのでメモ。

対処法としては画像の名前の後にユニークなクエリ情報(urlの?以降の情報)を付け加えることです。

<img src="/sample.jpg?<?php echo time(); ?>” alt=”サンプル”>

出力:
<img src=”/sample.jpg?1173278322” alt=”サンプル”>

上記方法で擬似的にキャッシュされないように見せることができます。ブラウザがキャッシュしているかどうかは画像のURLで判断しているらしいので すが、クエリ情報もこの判断材料に含まれるので、画像の名前が同じでもクエリ情報が違っていれば画像を読みにいってくれるわけです。

キャッシュしなくても問題ないものならいいのですが、画像のサイズが大きい場合などキャッシュした方が良い場合もありますので使いすぎには注意が必要です。

サイトを高速化させる為の豆知識(CSS Sprites)

今日は,CSSを使ってサイトを高速化するテクニック「CSS Sprites(CSSスプライト)」についてのお話をさせていただきます。

参考url:

http://gihyo.jp/design/serial/01/ss-design/0010

CSS Spritesとは?

通常,ウェブページを制作する場合,デザインファイル(psdやpngなどの画像)をスライスし,HTMLのimg要素として埋め込んだり,CSSの背景画像として指定していることと思います。

それらの画像を一つにまとめ,1度の読み込みでのリクエスト数を減らすテクニックのことを「CSS Sprites」と呼びます。

う~ん、サイトの高速化にも色々な方法がありますね。