1

この画像回転子を使用しています。素晴らしいのですが、1 つのページに複数回リンクすると、同じ画像が表示されます。何回アクセスされるかわからないので、同じスクリプトを複数使うのは現実的ではありません。このスクリプトを変更して、同じ URL を使用しながらページの別の場所で別の画像を取得できるようにするにはどうすればよいですか? 出来ますか?

編集:コーディングに何らかの問題があったに違いないことがわかりました。ここでより良いコードを見つけました。リンクごとに異なるクエリを使用すると機能します。回答を送信してくださった皆様、ありがとうございました。

4

3 に答える 3

2

インスタンスごとに異なるクエリ文字列を渡して、ブラウザが複数回取得できるようにします。

ブラウザは、「回転した」各画像が同じURLを使用していることを認識しているため、最初のリクエストから得られた画像をキャッシュします。

この動作は2つの方法で変更できます。

  1. 「回転した」画像のURLにphpのランダムな文字列を追加します。例("rotate.php?img = my_static_image.jpg&x = 12345"これは、ブラウザが各画像に対して新しいリクエストを行うことを意味します。

  2. 追加のパラメーターを受け取らない場合は、rotatescripをランダム化されたURLにリダイレクトします

于 2011-04-30T11:33:03.147 に答える
0

URLを同じに保ちたい場合は、次のようにphpスクリプトにno-cacheヘッダーを追加します。

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

うまくいけば、半分まともなブラウザはこれを尊重し、最初のリクエストをキャッシュしません。

もう1つのオプションはrotate.php、コードが関数内に含まれるようにスクリプトを変更することです。次に、スクリプトの上部で使用し、必要な場所でinclude('rotate.php');新しい関数を使用します。rotate()

于 2011-04-30T12:02:10.200 に答える
0

GETパラメーター'img'を使用できます。

/path/to/images/rotate.php?img=my_static_image.jpg

デフォルトのGETパラメータの詳細については、ドキュメントを参照してください:http: //www.alistapart.com/articles/randomizer/

于 2011-04-30T11:36:44.807 に答える