0

新しいコンテンツを Web ページ example New images にアップロードすると、Web ページに接続すると、コードを見ると新しいコンテンツが表示されますが、古い画像が表示されます。

コンテンツがブラウザーのローカルにキャッシュされたままになっていると思われるため、キャッシュがいっぱいになるか消去された場合にのみ、新しいコンテンツが表示されます。

ユーザーがキャッシュをクリアしなくても、アップロードした直後にアップロードした新しいコンテンツを表示できるようにすることが可能かどうか教えてください。

ローカル ユーザーに対して無効にすることはできますか?

4

4 に答える 4

1

?<?php echo time();?>タグの URL の最後に単純な を追加できますが<img/>、これにより、ページを更新するときだけでなく、毎回画像を強制的にリロードすることになります。

于 2013-04-30T08:50:40.257 に答える
1

最も簡単な方法は、ファイルを変更するたびに新しいファイル名を付けることです。

または、タイムスタンプを追加することもできます。粗いバージョンは次のようになります。

<img src="images/foo.gif?t=<?php echo time(); ?>" />

ただし、これにより、イメージが毎回リロードされます。より良いバージョンは次のとおりです。

<img src="images/foo.gif?t=<?php echo filemtime($siteRootDir . '/images/foo.gif'); ?>" />

これにより、ファイル自体の変更タイムスタンプが出力されるため、ファイルが実際に変更された場合にのみ新しいバージョンが要求されます。明らか$siteRootDirに、関連する値が必要です。

于 2013-04-30T08:50:46.643 に答える
1

一般的な方法は、イメージ呼び出しの背後に GET 文字列を追加することです。

構成のどこかに文字列を設定します。

<?php $version = "xyz123"; ?>

次に、画像、スクリプト、または css 呼び出しに文字列を追加します。

<img src="path/to/image.png?<?php echo $version; ?>"/>

自分のものを変更するたびに、バージョン文字列を変更して、外部ファイルの更新を強制します。

于 2013-04-30T08:53:01.323 に答える
0

私がしているのは、画像の URL の最後に時間関数を追加して、ユーザーごとに毎回動的にヒットするようにすることです。例えば:

echo '<img src="images/image.jpg?' . time() . '" alt="">';
于 2013-04-30T08:52:53.183 に答える