IEの画像表示ではまり
編集画面(画像の登録)
確認画面(画像のプレビュー)画像のファイル名は一定の規則にする
戻るボタンで再度編集画面で画像を選択しなおす
再度確認画面で画像のプレビュー
以上のような動きをしたいが、画像を選択しなおして、プレビューさせると前に選択していた画像が表示される。ただし、IEの更新ボタンをクリックすると最新の画像が表示される。
キャッシュの問題だと思ったので、キャッシュを無効にする設定をいれた
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="Thu, 01 Dec 1994 16:00:00 GMT"> >
をHTML側に入れたが、キャッシュされる
header("Content-Type: text/html; charset=文字コード");
header("Expires: Thu, 01 Dec 1994 16:00:00 GMT");
header("Last-Modified: ". gmdate("D, d M Y H:i:s"). " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
をPHP側に入れたが、キャッシュされる
結局のところ、画像のキャッシュのHTMLファイルのキャッシュは別ものなので、これでは問題は解決しなかった。
画像のキャッシュの問題だということが分かったので、
PHP側でIMGタグを作っているところで、
<img src="hoge.jpg?yyyymmdd">
などとする。
yyyymmddのところは何でもよいが、アクセスするたびに変動するものがよい。
キャッシュされるのは防げないが、とりあえず最新の画像は表示されるようになった。