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


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で判断しているらしいので すが、クエリ情報もこの判断材料に含まれるので、画像の名前が同じでもクエリ情報が違っていれば画像を読みにいってくれるわけです。

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

こちらの関連記事も合わせて読んでみては?:)

  1. PHPでファイルをダウンロードさせる方法(PEAR::HTTP_Download)
  2. PHPで画像をリサイズ(ImageMagickとimagick) インストール編
  3. PHPでアップロードされたファイルタイプのチェック方法(fileinfo, mime-type) インストール編
  4. scriptaculous.jsのエフェクト(Highlight)使用方法
  5. PHPで画像をリサイズ(ImageMagickとimagick) サンプル編

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>