2017-11-08 3 views
0

更新後にキャッシュされたイメージをリロードします。
私は以下のようなタイムスタンプとそれを作成した:更新後のキャッシュイメージのリロード

echo "<img src=../thumbnail.jpg?" . time() . ">"; 

しかし、マルチページで、この画像のショーと私はすべてのためにtime()を設定する必要があります。 このtime()イメージのURLを変更するので、すべてのロードピクチャがそうでないかのように再ロードされます。

私の画像は複数のユーザーから更新できます。私がtime()をリロードするたびにすべてのイメージURLに設定すると、パフォーマンスに影響します。

答えて

0

time()は、現在の時刻を返します。したがって、ページが読み込まれるたびに異なるため、必要な処理は実行されません。

フレームワークに静的アセットをバージョニングするシステムがある場合は、それを使用する必要があります。そうしないと、この例のように、ファイルが最後に変更されたときのタイムスタンプを返しますfilemtime()を、使用することができます。

<img src="<?=$path?>?v=<?=filemtime($path)?>"> 

ファイルのタイムスタンプが変更されたときに、それが唯一変更されますその方法を。

0

Grunt、Gulpなどのタスクランナーを使用している場合は、イメージコンテンツのハッシュをファイル名に追加するだけでなく、images/cssを参照するファイルを更新するタスクを追加できます/ JS/...

(あなたはまた、完全なワークフローを自動化するために画像を最適化することができます。)

兵卒からgrunt-cache-bust

ガルプ - gulp-cachebust

関連する問題