- 締切済み
headerに乱数を仕込みたい
ランダムに画像を出力するプログラムを書いています。 <img src='test.php' border=0 /> test.php header("Content-Type: image/gif"); 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"); 現在は上記のようにheaderが書いてあり、1秒ズレれば別ページとして判断されるようになっているようです。 しかし、 <img src='test.php' border=0 /> <img src='test.php' border=0 /> <img src='test.php' border=0 /> このように、3つHTML上に記述した場合、1秒以内で読み込みが来てしまい同一ファイルと判断される為なのか、全て同じ画像が出てしまいます。 phpが回ればログを書くようにしてみましたが やはり1回しか回っていないようです。 そこで、headerに乱数など必ず変わる値を差し込んで、 別物として読み込ませるような方法はないでしょうか。 もちろん、 <img src='test.php?i=1' border=0 /> <img src='test.php?i=2' border=0 /> <img src='test.php?i=3' border=0 /> このように、HTML側でURLを変えれば別物として読まれますが、この方法はNGです。 あくまでtest.phpのプログラム側でなんとかしたいのです。 宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- thezen5
- ベストアンサー率84% (27/32)
2です。 test.phpのまま3回読み込めば同じ内容が出る可能性が高いですね。すいません。 ヘッダを300番台で転送すればtest.phpだけで行けるかもしれませんね。 本来は1さんも言ってるようにajax等javascriptで処理すべきだと思いますが。
- thezen5
- ベストアンサー率84% (27/32)
test.phpの方で何からソースを出力してるのかわかりませんが、ファイル名の配列を作ってrandom()など使って出力すればいい事じゃないでしょうか?
- t_ohta
- ベストアンサー率38% (5292/13826)
ブラウザが行う処理の問題なのでtest.phpのプログラム側だけではどうにもなりません。 ブラウザは同じURLなので同一のものと判断して、新たに読み込みを行いません。 test.php?i=1 のようなURLにすることの問題は何でしょうか? ソースの表現上の問題であればAjaxを使って読み込むなど対処方法は考えられると思います。