Opencartキャッシュイメージに重大な問題があります。私は情報(製品、カテゴリ)などをOpencartと同期させるソフトウェアを持っています。Opencartで画像/キャッシュを削除すると、何もしません。
イメージが既にある製品を更新するときは、イメージ(ID)が同じであるため、イメージを置き換える(FTPで)だけです。
--- First upload product ---
image/myfolder/id_of_image.jpg
--- Second upload product (update) ---
image/myfolder/id_of_image.jpg -> It is replaced
--- Third upload product (update) ---
image/myfolder/id_of_image.jpg -> It is replaced
など。何が起こるかは、Opencartが最初の同期で同じ画像セットを続けていることです。異なるブラウザーで同じ最初の画像同期が表示されるため、これはブラウザーの問題ではありません。
Opencartは、製品ページを開くたびにイメージのサイズを変更し、イメージサイズに応じて19301-500x445.jpg
のような新しい内部ファイルを作成します。 これはサイズイメージが既に存在しない場合にのみ発生します!
// Within the file catalog/model/tool/image
$image_old = $filename;
$image_new = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . (int)$width . 'x' . (int)$height . '.' . $extension;
if (!is_file(DIR_IMAGE . $image_new) || (filectime(DIR_IMAGE . $image_old) > filectime(DIR_IMAGE . $image_new)))
{
}
私は、ファイル名にtime()
を設定することにより、キャッシュの問題を回避するために管理することができますが、この方法でopencartは常に不必要に新しいイメージを作成します。
$image_new = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . (int)$width . 'x' . (int)$height . '-' . time() . '.' . $extension;
image/cache/myfolder/*
を削除しても何の効果もありません。