• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像が更新されない2)

画像が更新されない2

このQ&Aのポイント
  • プログラムを作成しておりますが、画像の更新が反映されない問題について相談です。
  • キャッシュの削除や.htaccessの設定を試しましたが、画像が反映されません。
  • URLにランダムなパラメータを付けると一時的に解決することもあるが、再度問題が発生しています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=23032&forum=12 こちら、Javaのフォーラムですが、同様の件で不都合が出ているようでした。 結局、HTMLの中のimgタグの中にある画像が、ブラウザが受け取るときに要件のようなキャッシュを残さないようなHTTPヘッダを含んでいないため、キャッシュされるようですね。 なので、フォーラム内の回答のように、 <img src="image.jpg?20090825111111" /> などのように画像にクエリをくっつけてやる必要があるようです。 もしくは、 <img src="image.php?img=gazo.jpg" /> などとして、画像を出力するためのPHPスクリプトを書いてやるとか。 以下サンプルです。 ----image.php-------- <?php if(!isset($_GET['img'])) exit(); $path = "./img/"; $filepath = $path.$_GET['img']; $ext = pathinfo($filepath, PATHINFO_EXTENSION); if(!file_exists($filepath)) exit(); header("Pragma: no-cache"); header("Cache-Control: no-cache"); header("Expires: 0"); switch(strtolower($ext)){ case "jpg": case "jpeg": header('Content-Type: image/jpeg'); break; case "gif": header('Content-Type: image/gif'); break; case "png": header('Content-Type: image/png'); break; default: header('Content-Type: image/jpeg'); break; } readfile($filepath); ?>

taabooo
質問者

お礼

とても丁寧にソースまで頂き本当にありがとうございます。 無事思い通りできるようになりました。 ?un=<? print rand(10,99); ?> このソースをイメージの後ろにつけて完璧にできたかと思います。 URLの後ろにパラメータをつけるのは普通にやっていたのですが、イメージパスの後ろにもつける事が出来るなんて考えもしなかったです。 本当に勉強になりました。 ありがとうございます。

関連するQ&A

専門家に質問してみよう