boooeller2 Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 Подскажите: 1. Файлы изображений в кеше по пути: /image/cache/catalog/ удаляются сами через какое то время или с момента создания файла он там постоянно хранится пока не удалить вручную? 2. Если я заменю картинку в товаре, то картинка в кеше сама обновится или нет, если да то через какое время? Надіслати Поділитися на інших сайтах More sharing options...
SGrWr_34 Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 Пока не удалите вручную, или кроном При заходе в продукт, при отображении в категории, при добавлении в корзину. Там ведь не одна картинка в кеше создается, а под разные размеры Надіслати Поділитися на інших сайтах More sharing options... sitecreator Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 14 минут назад, boooeller2 сказал: 2. Если я заменю картинку в товаре, то картинка в кеше сама обновится или нет, если да то через какое время? при неизменном названии файла, это имеется ввиду? зависит от версии опенкарт и операционной системы. в версиях до 3.0 вообще много принципиальных ошибок при работе с изображениями в плане контроля за заменой и обновлением. поэтому может ничего и не произойти после замены вопреки вашей желаемой логике. по-хорошему она должна обновиться сразу как только вы откроете соответствующую страницу с этой картинкой. Но в реальности все не так хорошо (см. выше) бывает. Я в своем модуле для работы с изображениями устранил недостатки, которые есть в опенкарт, а потому изображения обновляются так, как мы этого ожидаем. вы можете просто очищать кеш изображений вручную когда делаете замену изображения с одинаковым названием. желательно не весь кеш, а только ту часть, которую надо. И не забывайте также обновить кеш браузера при просмотре, например, так: ctrl+F5. Надіслати Поділитися на інших сайтах More sharing options... searchingman Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 Для ocStore 2.3.0.2.3 1 час назад, boooeller2 сказал: Подскажите: 1. Файлы изображений в кеше по пути: /image/cache/catalog/ удаляются сами через какое то время или с момента создания файла он там постоянно хранится пока не удалить вручную? Сами не удаляются, но могут быть перегенерированы по 2м условиям. 1. Если файла соответствующей миниатюры в кеше нет. 2. Если время изменения оригинального файла , который Вы загрузили больше, чем время изменения файла кеша. Из функции ресайза resize картинки (файл : catalog\model\tool\image.php) Спойлер if (!is_file(DIR_IMAGE . $image_new) || (filectime(DIR_IMAGE . $image_old) > filectime(DIR_IMAGE . $image_new))) { 1 час назад, boooeller2 сказал: Подскажите: 2. Если я заменю картинку в товаре, то картинка в кеше сама обновится или нет, если да то через какое время? Да, при открытии страницы, должны перегенерироваться миниатюры при соблюдении условий (см. выше). Надіслати Поділитися на інших сайтах More sharing options... sitecreator Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 1 час назад, searchingman сказал: 2. Если время изменения оригинального файла , который Вы загрузили больше, чем время изменения файла кеша. так должно было бы работать по логике вещей. Но... это не всегда так если речь об относительно старых версиях опенкарт, вплоть до 2.3 включительно. Т.е. нормального поведения вы не всегда дождетесь. в новой внесли исправление, ошибка ранее тянулась из поколения в поколение. В зависимости от операционной системы эта древняя ошибка приводит к различным казусам. я уже ранее писал на эту тему. Только в 3-ке исправили ошибку. // +++++++++++++++++++++++++++++ комментарий от sitecreator +++++++++++++++++++++++++++++++++++++ // Для контроля времени создания файлов // используем везде filemtime() (Возвращает время последнего изменения файла) // использование filectime() не годится, т.к. в случае изменения файла время изменения меняется, но filectime() будет возвращать // "время создания файла" (в кавычках потому, что в Linux не существует такого понятия), точнее - // возвращает время изменения индексного дескриптора файла, что обычно совпадает с временем создания файла на сервере // https://www.php.net/manual/ru/function.filectime.php // Примечание. На большинстве платформ Unix, файл считается измененным, если изменены данные его индексного дескриптора, // что включает информацию о правах на файл, о его владельце, группе и другие метаданные, содержащиеся в индексном дескрипторе. // даже при полном изменении (перезаписывании или удалении) файла filectime() возвратит точно такое же значение как до изменения файла // если не менялись данные его индексного дескриптора // filectime() - это именно время изменения индексного дескриптора, но не содержимого файла. // filectime() использовался в opencart вплоть до 2.3 версии, что является принципиальной ошибкой, порождающей иногда многократные (бесконечные) попытки // перезаписи файла в случае изменения (контента) исходного файла. // ---------------------------- комментарий от sitecreator ------------------------------------------------------------------- 1 Надіслати Поділитися на інших сайтах More sharing options... sitecreator Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 Кстати, в самой свежей 2-й версии от 27.03.2021 ocStore 2.3.0.2.4 ошибка с filectime присутствует. Надіслати Поділитися на інших сайтах More sharing options... searchingman Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 (змінено) 26 минут назад, sitecreator сказал: так должно было бы работать по логике вещей. Но... это не всегда так если речь об относительно старых версиях опенкарт, вплоть до 2.3 включительно. Т.е. нормального поведения вы не всегда дождетесь. в новой внесли исправление, ошибка ранее тянулась из поколения в поколение. В зависимости от операционной системы эта древняя ошибка приводит к различным казусам. я уже ранее писал на эту тему. Только в 3-ке исправили ошибку. // +++++++++++++++++++++++++++++ комментарий от sitecreator +++++++++++++++++++++++++++++++++++++ // Для контроля времени создания файлов // используем везде filemtime() (Возвращает время последнего изменения файла) // использование filectime() не годится, т.к. в случае изменения файла время изменения меняется, но filectime() будет возвращать // "время создания файла" (в кавычках потому, что в Linux не существует такого понятия), точнее - // возвращает время изменения индексного дескриптора файла, что обычно совпадает с временем создания файла на сервере // https://www.php.net/manual/ru/function.filectime.php // Примечание. На большинстве платформ Unix, файл считается измененным, если изменены данные его индексного дескриптора, // что включает информацию о правах на файл, о его владельце, группе и другие метаданные, содержащиеся в индексном дескрипторе. // даже при полном изменении (перезаписывании или удалении) файла filectime() возвратит точно такое же значение как до изменения файла // если не менялись данные его индексного дескриптора // filectime() - это именно время изменения индексного дескриптора, но не содержимого файла. // filectime() использовался в opencart вплоть до 2.3 версии, что является принципиальной ошибкой, порождающей иногда многократные (бесконечные) попытки // перезаписи файла в случае изменения (контента) исходного файла. // ---------------------------- комментарий от sitecreator ------------------------------------------------------------------- Согласен, что правильнее заменить filectime на filemtime, как в OpenCart 3.x Змінено 10 квітня 2021 користувачем searchingman Надіслати Поділитися на інших сайтах More sharing options... KomissarJuve Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 12 часов назад, sitecreator сказал: Кстати, в самой свежей 2-й версии от 27.03.2021 ocStore 2.3.0.2.4 ошибка с filectime присутствует. Здравствуйте а где в коде это исправить ? Спасибо Надіслати Поділитися на інших сайтах More sharing options... searchingman Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 29 минут назад, KomissarJuve сказал: Здравствуйте а где в коде это исправить ? Спасибо Для ocStore 2.3.0.2.4 в catalog/model/tool/image.php попробуйте сделать замену Спойлер // найти код if (!is_file(DIR_IMAGE . $image_new) || (filectime(DIR_IMAGE . $image_old) > filectime(DIR_IMAGE . $image_new))) { // заменить на if (!is_file(DIR_IMAGE . $image_new) || (filemtime(DIR_IMAGE . $image_old) > filemtime(DIR_IMAGE . $image_new))) { Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 1 Надіслати Поділитися на інших сайтах More sharing options... boooeller2 Опубліковано: 12 квітня 2021 Автор Share Опубліковано: 12 квітня 2021 на самом деле у меня проблема в том что не меняется картинка в товаре в гугл мерчанте. пользуюсь модулем manyFeed PRO, он берет картинки с кеша, в самом фиде ссылка на новую картинку верная, а вот в мерчанте висит старая, возможно проблема на стороне мерчанта... может кто с таким сталкивался.. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Чистка кеша изображений Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
sitecreator Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 14 минут назад, boooeller2 сказал: 2. Если я заменю картинку в товаре, то картинка в кеше сама обновится или нет, если да то через какое время? при неизменном названии файла, это имеется ввиду? зависит от версии опенкарт и операционной системы. в версиях до 3.0 вообще много принципиальных ошибок при работе с изображениями в плане контроля за заменой и обновлением. поэтому может ничего и не произойти после замены вопреки вашей желаемой логике. по-хорошему она должна обновиться сразу как только вы откроете соответствующую страницу с этой картинкой. Но в реальности все не так хорошо (см. выше) бывает. Я в своем модуле для работы с изображениями устранил недостатки, которые есть в опенкарт, а потому изображения обновляются так, как мы этого ожидаем. вы можете просто очищать кеш изображений вручную когда делаете замену изображения с одинаковым названием. желательно не весь кеш, а только ту часть, которую надо. И не забывайте также обновить кеш браузера при просмотре, например, так: ctrl+F5. Надіслати Поділитися на інших сайтах More sharing options... searchingman Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 Для ocStore 2.3.0.2.3 1 час назад, boooeller2 сказал: Подскажите: 1. Файлы изображений в кеше по пути: /image/cache/catalog/ удаляются сами через какое то время или с момента создания файла он там постоянно хранится пока не удалить вручную? Сами не удаляются, но могут быть перегенерированы по 2м условиям. 1. Если файла соответствующей миниатюры в кеше нет. 2. Если время изменения оригинального файла , который Вы загрузили больше, чем время изменения файла кеша. Из функции ресайза resize картинки (файл : catalog\model\tool\image.php) Спойлер if (!is_file(DIR_IMAGE . $image_new) || (filectime(DIR_IMAGE . $image_old) > filectime(DIR_IMAGE . $image_new))) { 1 час назад, boooeller2 сказал: Подскажите: 2. Если я заменю картинку в товаре, то картинка в кеше сама обновится или нет, если да то через какое время? Да, при открытии страницы, должны перегенерироваться миниатюры при соблюдении условий (см. выше). Надіслати Поділитися на інших сайтах More sharing options... sitecreator Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 1 час назад, searchingman сказал: 2. Если время изменения оригинального файла , который Вы загрузили больше, чем время изменения файла кеша. так должно было бы работать по логике вещей. Но... это не всегда так если речь об относительно старых версиях опенкарт, вплоть до 2.3 включительно. Т.е. нормального поведения вы не всегда дождетесь. в новой внесли исправление, ошибка ранее тянулась из поколения в поколение. В зависимости от операционной системы эта древняя ошибка приводит к различным казусам. я уже ранее писал на эту тему. Только в 3-ке исправили ошибку. // +++++++++++++++++++++++++++++ комментарий от sitecreator +++++++++++++++++++++++++++++++++++++ // Для контроля времени создания файлов // используем везде filemtime() (Возвращает время последнего изменения файла) // использование filectime() не годится, т.к. в случае изменения файла время изменения меняется, но filectime() будет возвращать // "время создания файла" (в кавычках потому, что в Linux не существует такого понятия), точнее - // возвращает время изменения индексного дескриптора файла, что обычно совпадает с временем создания файла на сервере // https://www.php.net/manual/ru/function.filectime.php // Примечание. На большинстве платформ Unix, файл считается измененным, если изменены данные его индексного дескриптора, // что включает информацию о правах на файл, о его владельце, группе и другие метаданные, содержащиеся в индексном дескрипторе. // даже при полном изменении (перезаписывании или удалении) файла filectime() возвратит точно такое же значение как до изменения файла // если не менялись данные его индексного дескриптора // filectime() - это именно время изменения индексного дескриптора, но не содержимого файла. // filectime() использовался в opencart вплоть до 2.3 версии, что является принципиальной ошибкой, порождающей иногда многократные (бесконечные) попытки // перезаписи файла в случае изменения (контента) исходного файла. // ---------------------------- комментарий от sitecreator ------------------------------------------------------------------- 1 Надіслати Поділитися на інших сайтах More sharing options... sitecreator Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 Кстати, в самой свежей 2-й версии от 27.03.2021 ocStore 2.3.0.2.4 ошибка с filectime присутствует. Надіслати Поділитися на інших сайтах More sharing options... searchingman Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 (змінено) 26 минут назад, sitecreator сказал: так должно было бы работать по логике вещей. Но... это не всегда так если речь об относительно старых версиях опенкарт, вплоть до 2.3 включительно. Т.е. нормального поведения вы не всегда дождетесь. в новой внесли исправление, ошибка ранее тянулась из поколения в поколение. В зависимости от операционной системы эта древняя ошибка приводит к различным казусам. я уже ранее писал на эту тему. Только в 3-ке исправили ошибку. // +++++++++++++++++++++++++++++ комментарий от sitecreator +++++++++++++++++++++++++++++++++++++ // Для контроля времени создания файлов // используем везде filemtime() (Возвращает время последнего изменения файла) // использование filectime() не годится, т.к. в случае изменения файла время изменения меняется, но filectime() будет возвращать // "время создания файла" (в кавычках потому, что в Linux не существует такого понятия), точнее - // возвращает время изменения индексного дескриптора файла, что обычно совпадает с временем создания файла на сервере // https://www.php.net/manual/ru/function.filectime.php // Примечание. На большинстве платформ Unix, файл считается измененным, если изменены данные его индексного дескриптора, // что включает информацию о правах на файл, о его владельце, группе и другие метаданные, содержащиеся в индексном дескрипторе. // даже при полном изменении (перезаписывании или удалении) файла filectime() возвратит точно такое же значение как до изменения файла // если не менялись данные его индексного дескриптора // filectime() - это именно время изменения индексного дескриптора, но не содержимого файла. // filectime() использовался в opencart вплоть до 2.3 версии, что является принципиальной ошибкой, порождающей иногда многократные (бесконечные) попытки // перезаписи файла в случае изменения (контента) исходного файла. // ---------------------------- комментарий от sitecreator ------------------------------------------------------------------- Согласен, что правильнее заменить filectime на filemtime, как в OpenCart 3.x Змінено 10 квітня 2021 користувачем searchingman Надіслати Поділитися на інших сайтах More sharing options... KomissarJuve Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 12 часов назад, sitecreator сказал: Кстати, в самой свежей 2-й версии от 27.03.2021 ocStore 2.3.0.2.4 ошибка с filectime присутствует. Здравствуйте а где в коде это исправить ? Спасибо Надіслати Поділитися на інших сайтах More sharing options... searchingman Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 29 минут назад, KomissarJuve сказал: Здравствуйте а где в коде это исправить ? Спасибо Для ocStore 2.3.0.2.4 в catalog/model/tool/image.php попробуйте сделать замену Спойлер // найти код if (!is_file(DIR_IMAGE . $image_new) || (filectime(DIR_IMAGE . $image_old) > filectime(DIR_IMAGE . $image_new))) { // заменить на if (!is_file(DIR_IMAGE . $image_new) || (filemtime(DIR_IMAGE . $image_old) > filemtime(DIR_IMAGE . $image_new))) { Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 1 Надіслати Поділитися на інших сайтах More sharing options... boooeller2 Опубліковано: 12 квітня 2021 Автор Share Опубліковано: 12 квітня 2021 на самом деле у меня проблема в том что не меняется картинка в товаре в гугл мерчанте. пользуюсь модулем manyFeed PRO, он берет картинки с кеша, в самом фиде ссылка на новую картинку верная, а вот в мерчанте висит старая, возможно проблема на стороне мерчанта... может кто с таким сталкивался.. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Чистка кеша изображений Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV
searchingman Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 Для ocStore 2.3.0.2.3 1 час назад, boooeller2 сказал: Подскажите: 1. Файлы изображений в кеше по пути: /image/cache/catalog/ удаляются сами через какое то время или с момента создания файла он там постоянно хранится пока не удалить вручную? Сами не удаляются, но могут быть перегенерированы по 2м условиям. 1. Если файла соответствующей миниатюры в кеше нет. 2. Если время изменения оригинального файла , который Вы загрузили больше, чем время изменения файла кеша. Из функции ресайза resize картинки (файл : catalog\model\tool\image.php) Спойлер if (!is_file(DIR_IMAGE . $image_new) || (filectime(DIR_IMAGE . $image_old) > filectime(DIR_IMAGE . $image_new))) { 1 час назад, boooeller2 сказал: Подскажите: 2. Если я заменю картинку в товаре, то картинка в кеше сама обновится или нет, если да то через какое время? Да, при открытии страницы, должны перегенерироваться миниатюры при соблюдении условий (см. выше). Надіслати Поділитися на інших сайтах More sharing options...
sitecreator Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 1 час назад, searchingman сказал: 2. Если время изменения оригинального файла , который Вы загрузили больше, чем время изменения файла кеша. так должно было бы работать по логике вещей. Но... это не всегда так если речь об относительно старых версиях опенкарт, вплоть до 2.3 включительно. Т.е. нормального поведения вы не всегда дождетесь. в новой внесли исправление, ошибка ранее тянулась из поколения в поколение. В зависимости от операционной системы эта древняя ошибка приводит к различным казусам. я уже ранее писал на эту тему. Только в 3-ке исправили ошибку. // +++++++++++++++++++++++++++++ комментарий от sitecreator +++++++++++++++++++++++++++++++++++++ // Для контроля времени создания файлов // используем везде filemtime() (Возвращает время последнего изменения файла) // использование filectime() не годится, т.к. в случае изменения файла время изменения меняется, но filectime() будет возвращать // "время создания файла" (в кавычках потому, что в Linux не существует такого понятия), точнее - // возвращает время изменения индексного дескриптора файла, что обычно совпадает с временем создания файла на сервере // https://www.php.net/manual/ru/function.filectime.php // Примечание. На большинстве платформ Unix, файл считается измененным, если изменены данные его индексного дескриптора, // что включает информацию о правах на файл, о его владельце, группе и другие метаданные, содержащиеся в индексном дескрипторе. // даже при полном изменении (перезаписывании или удалении) файла filectime() возвратит точно такое же значение как до изменения файла // если не менялись данные его индексного дескриптора // filectime() - это именно время изменения индексного дескриптора, но не содержимого файла. // filectime() использовался в opencart вплоть до 2.3 версии, что является принципиальной ошибкой, порождающей иногда многократные (бесконечные) попытки // перезаписи файла в случае изменения (контента) исходного файла. // ---------------------------- комментарий от sitecreator ------------------------------------------------------------------- 1 Надіслати Поділитися на інших сайтах More sharing options... sitecreator Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 Кстати, в самой свежей 2-й версии от 27.03.2021 ocStore 2.3.0.2.4 ошибка с filectime присутствует. Надіслати Поділитися на інших сайтах More sharing options... searchingman Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 (змінено) 26 минут назад, sitecreator сказал: так должно было бы работать по логике вещей. Но... это не всегда так если речь об относительно старых версиях опенкарт, вплоть до 2.3 включительно. Т.е. нормального поведения вы не всегда дождетесь. в новой внесли исправление, ошибка ранее тянулась из поколения в поколение. В зависимости от операционной системы эта древняя ошибка приводит к различным казусам. я уже ранее писал на эту тему. Только в 3-ке исправили ошибку. // +++++++++++++++++++++++++++++ комментарий от sitecreator +++++++++++++++++++++++++++++++++++++ // Для контроля времени создания файлов // используем везде filemtime() (Возвращает время последнего изменения файла) // использование filectime() не годится, т.к. в случае изменения файла время изменения меняется, но filectime() будет возвращать // "время создания файла" (в кавычках потому, что в Linux не существует такого понятия), точнее - // возвращает время изменения индексного дескриптора файла, что обычно совпадает с временем создания файла на сервере // https://www.php.net/manual/ru/function.filectime.php // Примечание. На большинстве платформ Unix, файл считается измененным, если изменены данные его индексного дескриптора, // что включает информацию о правах на файл, о его владельце, группе и другие метаданные, содержащиеся в индексном дескрипторе. // даже при полном изменении (перезаписывании или удалении) файла filectime() возвратит точно такое же значение как до изменения файла // если не менялись данные его индексного дескриптора // filectime() - это именно время изменения индексного дескриптора, но не содержимого файла. // filectime() использовался в opencart вплоть до 2.3 версии, что является принципиальной ошибкой, порождающей иногда многократные (бесконечные) попытки // перезаписи файла в случае изменения (контента) исходного файла. // ---------------------------- комментарий от sitecreator ------------------------------------------------------------------- Согласен, что правильнее заменить filectime на filemtime, как в OpenCart 3.x Змінено 10 квітня 2021 користувачем searchingman Надіслати Поділитися на інших сайтах More sharing options... KomissarJuve Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 12 часов назад, sitecreator сказал: Кстати, в самой свежей 2-й версии от 27.03.2021 ocStore 2.3.0.2.4 ошибка с filectime присутствует. Здравствуйте а где в коде это исправить ? Спасибо Надіслати Поділитися на інших сайтах More sharing options... searchingman Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 29 минут назад, KomissarJuve сказал: Здравствуйте а где в коде это исправить ? Спасибо Для ocStore 2.3.0.2.4 в catalog/model/tool/image.php попробуйте сделать замену Спойлер // найти код if (!is_file(DIR_IMAGE . $image_new) || (filectime(DIR_IMAGE . $image_old) > filectime(DIR_IMAGE . $image_new))) { // заменить на if (!is_file(DIR_IMAGE . $image_new) || (filemtime(DIR_IMAGE . $image_old) > filemtime(DIR_IMAGE . $image_new))) { Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 1 Надіслати Поділитися на інших сайтах More sharing options... boooeller2 Опубліковано: 12 квітня 2021 Автор Share Опубліковано: 12 квітня 2021 на самом деле у меня проблема в том что не меняется картинка в товаре в гугл мерчанте. пользуюсь модулем manyFeed PRO, он берет картинки с кеша, в самом фиде ссылка на новую картинку верная, а вот в мерчанте висит старая, возможно проблема на стороне мерчанта... может кто с таким сталкивался.. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Чистка кеша изображений
sitecreator Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 Кстати, в самой свежей 2-й версии от 27.03.2021 ocStore 2.3.0.2.4 ошибка с filectime присутствует. Надіслати Поділитися на інших сайтах More sharing options... searchingman Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 (змінено) 26 минут назад, sitecreator сказал: так должно было бы работать по логике вещей. Но... это не всегда так если речь об относительно старых версиях опенкарт, вплоть до 2.3 включительно. Т.е. нормального поведения вы не всегда дождетесь. в новой внесли исправление, ошибка ранее тянулась из поколения в поколение. В зависимости от операционной системы эта древняя ошибка приводит к различным казусам. я уже ранее писал на эту тему. Только в 3-ке исправили ошибку. // +++++++++++++++++++++++++++++ комментарий от sitecreator +++++++++++++++++++++++++++++++++++++ // Для контроля времени создания файлов // используем везде filemtime() (Возвращает время последнего изменения файла) // использование filectime() не годится, т.к. в случае изменения файла время изменения меняется, но filectime() будет возвращать // "время создания файла" (в кавычках потому, что в Linux не существует такого понятия), точнее - // возвращает время изменения индексного дескриптора файла, что обычно совпадает с временем создания файла на сервере // https://www.php.net/manual/ru/function.filectime.php // Примечание. На большинстве платформ Unix, файл считается измененным, если изменены данные его индексного дескриптора, // что включает информацию о правах на файл, о его владельце, группе и другие метаданные, содержащиеся в индексном дескрипторе. // даже при полном изменении (перезаписывании или удалении) файла filectime() возвратит точно такое же значение как до изменения файла // если не менялись данные его индексного дескриптора // filectime() - это именно время изменения индексного дескриптора, но не содержимого файла. // filectime() использовался в opencart вплоть до 2.3 версии, что является принципиальной ошибкой, порождающей иногда многократные (бесконечные) попытки // перезаписи файла в случае изменения (контента) исходного файла. // ---------------------------- комментарий от sitecreator ------------------------------------------------------------------- Согласен, что правильнее заменить filectime на filemtime, как в OpenCart 3.x Змінено 10 квітня 2021 користувачем searchingman Надіслати Поділитися на інших сайтах More sharing options... KomissarJuve Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 12 часов назад, sitecreator сказал: Кстати, в самой свежей 2-й версии от 27.03.2021 ocStore 2.3.0.2.4 ошибка с filectime присутствует. Здравствуйте а где в коде это исправить ? Спасибо Надіслати Поділитися на інших сайтах More sharing options... searchingman Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 29 минут назад, KomissarJuve сказал: Здравствуйте а где в коде это исправить ? Спасибо Для ocStore 2.3.0.2.4 в catalog/model/tool/image.php попробуйте сделать замену Спойлер // найти код if (!is_file(DIR_IMAGE . $image_new) || (filectime(DIR_IMAGE . $image_old) > filectime(DIR_IMAGE . $image_new))) { // заменить на if (!is_file(DIR_IMAGE . $image_new) || (filemtime(DIR_IMAGE . $image_old) > filemtime(DIR_IMAGE . $image_new))) { Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 1 Надіслати Поділитися на інших сайтах More sharing options... boooeller2 Опубліковано: 12 квітня 2021 Автор Share Опубліковано: 12 квітня 2021 на самом деле у меня проблема в том что не меняется картинка в товаре в гугл мерчанте. пользуюсь модулем manyFeed PRO, он берет картинки с кеша, в самом фиде ссылка на новую картинку верная, а вот в мерчанте висит старая, возможно проблема на стороне мерчанта... может кто с таким сталкивался.. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
searchingman Опубліковано: 10 квітня 2021 Share Опубліковано: 10 квітня 2021 (змінено) 26 минут назад, sitecreator сказал: так должно было бы работать по логике вещей. Но... это не всегда так если речь об относительно старых версиях опенкарт, вплоть до 2.3 включительно. Т.е. нормального поведения вы не всегда дождетесь. в новой внесли исправление, ошибка ранее тянулась из поколения в поколение. В зависимости от операционной системы эта древняя ошибка приводит к различным казусам. я уже ранее писал на эту тему. Только в 3-ке исправили ошибку. // +++++++++++++++++++++++++++++ комментарий от sitecreator +++++++++++++++++++++++++++++++++++++ // Для контроля времени создания файлов // используем везде filemtime() (Возвращает время последнего изменения файла) // использование filectime() не годится, т.к. в случае изменения файла время изменения меняется, но filectime() будет возвращать // "время создания файла" (в кавычках потому, что в Linux не существует такого понятия), точнее - // возвращает время изменения индексного дескриптора файла, что обычно совпадает с временем создания файла на сервере // https://www.php.net/manual/ru/function.filectime.php // Примечание. На большинстве платформ Unix, файл считается измененным, если изменены данные его индексного дескриптора, // что включает информацию о правах на файл, о его владельце, группе и другие метаданные, содержащиеся в индексном дескрипторе. // даже при полном изменении (перезаписывании или удалении) файла filectime() возвратит точно такое же значение как до изменения файла // если не менялись данные его индексного дескриптора // filectime() - это именно время изменения индексного дескриптора, но не содержимого файла. // filectime() использовался в opencart вплоть до 2.3 версии, что является принципиальной ошибкой, порождающей иногда многократные (бесконечные) попытки // перезаписи файла в случае изменения (контента) исходного файла. // ---------------------------- комментарий от sitecreator ------------------------------------------------------------------- Согласен, что правильнее заменить filectime на filemtime, как в OpenCart 3.x Змінено 10 квітня 2021 користувачем searchingman Надіслати Поділитися на інших сайтах More sharing options...
KomissarJuve Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 12 часов назад, sitecreator сказал: Кстати, в самой свежей 2-й версии от 27.03.2021 ocStore 2.3.0.2.4 ошибка с filectime присутствует. Здравствуйте а где в коде это исправить ? Спасибо Надіслати Поділитися на інших сайтах More sharing options...
searchingman Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 29 минут назад, KomissarJuve сказал: Здравствуйте а где в коде это исправить ? Спасибо Для ocStore 2.3.0.2.4 в catalog/model/tool/image.php попробуйте сделать замену Спойлер // найти код if (!is_file(DIR_IMAGE . $image_new) || (filectime(DIR_IMAGE . $image_old) > filectime(DIR_IMAGE . $image_new))) { // заменить на if (!is_file(DIR_IMAGE . $image_new) || (filemtime(DIR_IMAGE . $image_old) > filemtime(DIR_IMAGE . $image_new))) { Надіслати Поділитися на інших сайтах More sharing options...
AlexDW Опубліковано: 11 квітня 2021 Share Опубліковано: 11 квітня 2021 1 Надіслати Поділитися на інших сайтах More sharing options... boooeller2 Опубліковано: 12 квітня 2021 Автор Share Опубліковано: 12 квітня 2021 на самом деле у меня проблема в том что не меняется картинка в товаре в гугл мерчанте. пользуюсь модулем manyFeed PRO, он берет картинки с кеша, в самом фиде ссылка на новую картинку верная, а вот в мерчанте висит старая, возможно проблема на стороне мерчанта... может кто с таким сталкивался.. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1
boooeller2 Опубліковано: 12 квітня 2021 Автор Share Опубліковано: 12 квітня 2021 на самом деле у меня проблема в том что не меняется картинка в товаре в гугл мерчанте. пользуюсь модулем manyFeed PRO, он берет картинки с кеша, в самом фиде ссылка на новую картинку верная, а вот в мерчанте висит старая, возможно проблема на стороне мерчанта... может кто с таким сталкивался.. Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts