Ezik Опубліковано: 30 листопада 2020 Share Опубліковано: 30 листопада 2020 Добрый день. Ищу модуль для уменьшения размера фото в формате jpg. Сейчас на сайте фото с размером более 50 КВ.Сайт подтормаживает, хочу ускорить его работу. Нужно сжать порядка 30000 фото. Ручками это ооочень долго. Надіслати Поділитися на інших сайтах More sharing options...
KomissarJuve Опубліковано: 30 листопада 2020 Share Опубліковано: 30 листопада 2020 фотошоп может массово делать Надіслати Поділитися на інших сайтах More sharing options...
krumax Опубліковано: 30 листопада 2020 Share Опубліковано: 30 листопада 2020 @Ezik гуглите jpegoptim Надіслати Поділитися на інших сайтах More sharing options...
esculapra Опубліковано: 30 листопада 2020 Share Опубліковано: 30 листопада 2020 1 час назад, Ezik сказал: Сейчас на сайте фото с размером более 50 КВ Нужно посмотреть в Гугл ПейджСпид - возможно тормоза не из-за картинок. Или одновременно подгружается много фото - тогда делать отложенную загрузку. Надіслати Поділитися на інших сайтах More sharing options... maksimist Опубліковано: 30 листопада 2020 Share Опубліковано: 30 листопада 2020 Есть на форуме где то модификатор, который все картинки на webp подменяет, естественно они получаются с меньшим весом. Надіслати Поділитися на інших сайтах More sharing options... maksimist Опубліковано: 30 листопада 2020 Share Опубліковано: 30 листопада 2020 <?xml version="1.0" encoding="utf-8"?> <modification> <name>OCMOD Quick Convert Images in WebP</name> <code>webp-gd</code> <version>1.0</version> <author>no_name</author> <link></link> <file path="catalog/model/tool/image.php"> <operation> <search><![CDATA[$image_new = 'cache/']]></search> <add position="after"><![CDATA[$image_new_webp = 'cachewebp/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . (int)$width . 'x' . (int)$height . '.webp';]]></add> </operation> <operation> <search><![CDATA[$image_new = str_replace(]]></search> <add position="before" ><![CDATA[ $gd = gd_info(); if ($gd['WebP Support']) { if (!is_file(DIR_IMAGE . $image_new_webp) || (filectime(DIR_IMAGE . $image_new) > filectime(DIR_IMAGE . $image_new_webp))) { $path = ''; $directories = explode('/', dirname($image_new_webp)); foreach ($directories as $directory) { $path = $path . '/' . $directory; if (!is_dir(DIR_IMAGE . $path)) { @mkdir(DIR_IMAGE . $path, 0777); } } $image_webp = new Image(DIR_IMAGE . $image_old); $image_webp->resize($width, $height); $image_webp->save_webp(DIR_IMAGE . $image_new_webp); } } ]]></add> </operation> </file> <file path="system/library/image.php"> <operation> <search><![CDATA[public function save($file, $quality = 90) {]]></search> <add position="before"><![CDATA[ public function save_webp($file, $quality = 90) { if (is_resource($this->image)) { imagewebp($this->image, $file, $quality); imagedestroy($this->image); } } ]]></add> </operation> </file> <file path="system/library/response.php"> <operation> <search><![CDATA[private function compress($data, $level = 0)]]></search> <add position="before" ><![CDATA[ public function webpRebuild($output) { $gd = gd_info(); if ($gd['WebP Support']) { $uri = ''; if (isset($_SERVER['REQUEST_URI'])) { $uri = $_SERVER['REQUEST_URI']; } if (stripos($uri, 'admin') === false) { if (isset($_SERVER['HTTP_ACCEPT']) && isset($_SERVER['HTTP_USER_AGENT'])) { if( strpos( $_SERVER['HTTP_ACCEPT'], 'image/webp' ) !== false ) { $re = '/(cache)(.*)(\.jpg|\.png|.jpeg)/U'; $subst = '$1webp$2.webp'; $this->output = preg_replace($re, $subst, $this->output); } } } } } ]]></add> </operation> <operation> <search><![CDATA[$output = $this]]></search> <add position="before" ><![CDATA[ $this->webpRebuild($this->output); ]]></add> </operation> </file> </modification> На 2.3 и на 3-ке работает... Надіслати Поділитися на інших сайтах More sharing options... Agatha65 Опубліковано: 2 грудня 2020 Share Опубліковано: 2 грудня 2020 Quote <author>no_name</author> Это мой модуль и он бесплатный https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=38025 @Ezik Бесплатная версия https://kraken.io/web-interface сжимает тысячи, но если картинка не больше 1МБ. Платная версия делает все. https://kraken.io/pricing 2 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 грудня 2020 Share Опубліковано: 2 грудня 2020 @Agatha65 if (!is_file(DIR_IMAGE . $image_new_webp) || (filectime(DIR_IMAGE . $image_new) > filectime(DIR_IMAGE . $image_new_webp))) { возможно лучше использовать filemtime Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 4 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пошук модулів Модуль для массового сжатия фото в формате jpg Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
maksimist Опубліковано: 30 листопада 2020 Share Опубліковано: 30 листопада 2020 Есть на форуме где то модификатор, который все картинки на webp подменяет, естественно они получаются с меньшим весом. Надіслати Поділитися на інших сайтах More sharing options... maksimist Опубліковано: 30 листопада 2020 Share Опубліковано: 30 листопада 2020 <?xml version="1.0" encoding="utf-8"?> <modification> <name>OCMOD Quick Convert Images in WebP</name> <code>webp-gd</code> <version>1.0</version> <author>no_name</author> <link></link> <file path="catalog/model/tool/image.php"> <operation> <search><![CDATA[$image_new = 'cache/']]></search> <add position="after"><![CDATA[$image_new_webp = 'cachewebp/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . (int)$width . 'x' . (int)$height . '.webp';]]></add> </operation> <operation> <search><![CDATA[$image_new = str_replace(]]></search> <add position="before" ><![CDATA[ $gd = gd_info(); if ($gd['WebP Support']) { if (!is_file(DIR_IMAGE . $image_new_webp) || (filectime(DIR_IMAGE . $image_new) > filectime(DIR_IMAGE . $image_new_webp))) { $path = ''; $directories = explode('/', dirname($image_new_webp)); foreach ($directories as $directory) { $path = $path . '/' . $directory; if (!is_dir(DIR_IMAGE . $path)) { @mkdir(DIR_IMAGE . $path, 0777); } } $image_webp = new Image(DIR_IMAGE . $image_old); $image_webp->resize($width, $height); $image_webp->save_webp(DIR_IMAGE . $image_new_webp); } } ]]></add> </operation> </file> <file path="system/library/image.php"> <operation> <search><![CDATA[public function save($file, $quality = 90) {]]></search> <add position="before"><![CDATA[ public function save_webp($file, $quality = 90) { if (is_resource($this->image)) { imagewebp($this->image, $file, $quality); imagedestroy($this->image); } } ]]></add> </operation> </file> <file path="system/library/response.php"> <operation> <search><![CDATA[private function compress($data, $level = 0)]]></search> <add position="before" ><![CDATA[ public function webpRebuild($output) { $gd = gd_info(); if ($gd['WebP Support']) { $uri = ''; if (isset($_SERVER['REQUEST_URI'])) { $uri = $_SERVER['REQUEST_URI']; } if (stripos($uri, 'admin') === false) { if (isset($_SERVER['HTTP_ACCEPT']) && isset($_SERVER['HTTP_USER_AGENT'])) { if( strpos( $_SERVER['HTTP_ACCEPT'], 'image/webp' ) !== false ) { $re = '/(cache)(.*)(\.jpg|\.png|.jpeg)/U'; $subst = '$1webp$2.webp'; $this->output = preg_replace($re, $subst, $this->output); } } } } } ]]></add> </operation> <operation> <search><![CDATA[$output = $this]]></search> <add position="before" ><![CDATA[ $this->webpRebuild($this->output); ]]></add> </operation> </file> </modification> На 2.3 и на 3-ке работает... Надіслати Поділитися на інших сайтах More sharing options... Agatha65 Опубліковано: 2 грудня 2020 Share Опубліковано: 2 грудня 2020 Quote <author>no_name</author> Это мой модуль и он бесплатный https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=38025 @Ezik Бесплатная версия https://kraken.io/web-interface сжимает тысячи, но если картинка не больше 1МБ. Платная версия делает все. https://kraken.io/pricing 2 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 грудня 2020 Share Опубліковано: 2 грудня 2020 @Agatha65 if (!is_file(DIR_IMAGE . $image_new_webp) || (filectime(DIR_IMAGE . $image_new) > filectime(DIR_IMAGE . $image_new_webp))) { возможно лучше использовать filemtime Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 4 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пошук модулів Модуль для массового сжатия фото в формате jpg Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
maksimist Опубліковано: 30 листопада 2020 Share Опубліковано: 30 листопада 2020 <?xml version="1.0" encoding="utf-8"?> <modification> <name>OCMOD Quick Convert Images in WebP</name> <code>webp-gd</code> <version>1.0</version> <author>no_name</author> <link></link> <file path="catalog/model/tool/image.php"> <operation> <search><![CDATA[$image_new = 'cache/']]></search> <add position="after"><![CDATA[$image_new_webp = 'cachewebp/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . (int)$width . 'x' . (int)$height . '.webp';]]></add> </operation> <operation> <search><![CDATA[$image_new = str_replace(]]></search> <add position="before" ><![CDATA[ $gd = gd_info(); if ($gd['WebP Support']) { if (!is_file(DIR_IMAGE . $image_new_webp) || (filectime(DIR_IMAGE . $image_new) > filectime(DIR_IMAGE . $image_new_webp))) { $path = ''; $directories = explode('/', dirname($image_new_webp)); foreach ($directories as $directory) { $path = $path . '/' . $directory; if (!is_dir(DIR_IMAGE . $path)) { @mkdir(DIR_IMAGE . $path, 0777); } } $image_webp = new Image(DIR_IMAGE . $image_old); $image_webp->resize($width, $height); $image_webp->save_webp(DIR_IMAGE . $image_new_webp); } } ]]></add> </operation> </file> <file path="system/library/image.php"> <operation> <search><![CDATA[public function save($file, $quality = 90) {]]></search> <add position="before"><![CDATA[ public function save_webp($file, $quality = 90) { if (is_resource($this->image)) { imagewebp($this->image, $file, $quality); imagedestroy($this->image); } } ]]></add> </operation> </file> <file path="system/library/response.php"> <operation> <search><![CDATA[private function compress($data, $level = 0)]]></search> <add position="before" ><![CDATA[ public function webpRebuild($output) { $gd = gd_info(); if ($gd['WebP Support']) { $uri = ''; if (isset($_SERVER['REQUEST_URI'])) { $uri = $_SERVER['REQUEST_URI']; } if (stripos($uri, 'admin') === false) { if (isset($_SERVER['HTTP_ACCEPT']) && isset($_SERVER['HTTP_USER_AGENT'])) { if( strpos( $_SERVER['HTTP_ACCEPT'], 'image/webp' ) !== false ) { $re = '/(cache)(.*)(\.jpg|\.png|.jpeg)/U'; $subst = '$1webp$2.webp'; $this->output = preg_replace($re, $subst, $this->output); } } } } } ]]></add> </operation> <operation> <search><![CDATA[$output = $this]]></search> <add position="before" ><![CDATA[ $this->webpRebuild($this->output); ]]></add> </operation> </file> </modification> На 2.3 и на 3-ке работает... Надіслати Поділитися на інших сайтах More sharing options... Agatha65 Опубліковано: 2 грудня 2020 Share Опубліковано: 2 грудня 2020 Quote <author>no_name</author> Это мой модуль и он бесплатный https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=38025 @Ezik Бесплатная версия https://kraken.io/web-interface сжимает тысячи, но если картинка не больше 1МБ. Платная версия делает все. https://kraken.io/pricing 2 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 грудня 2020 Share Опубліковано: 2 грудня 2020 @Agatha65 if (!is_file(DIR_IMAGE . $image_new_webp) || (filectime(DIR_IMAGE . $image_new) > filectime(DIR_IMAGE . $image_new_webp))) { возможно лучше использовать filemtime Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 4 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пошук модулів Модуль для массового сжатия фото в формате jpg
Agatha65 Опубліковано: 2 грудня 2020 Share Опубліковано: 2 грудня 2020 Quote <author>no_name</author> Это мой модуль и он бесплатный https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=38025 @Ezik Бесплатная версия https://kraken.io/web-interface сжимает тысячи, но если картинка не больше 1МБ. Платная версия делает все. https://kraken.io/pricing 2 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 грудня 2020 Share Опубліковано: 2 грудня 2020 @Agatha65 if (!is_file(DIR_IMAGE . $image_new_webp) || (filectime(DIR_IMAGE . $image_new) > filectime(DIR_IMAGE . $image_new_webp))) { возможно лучше использовать filemtime Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 4 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
AlexDW Опубліковано: 2 грудня 2020 Share Опубліковано: 2 грудня 2020 @Agatha65 if (!is_file(DIR_IMAGE . $image_new_webp) || (filectime(DIR_IMAGE . $image_new) > filectime(DIR_IMAGE . $image_new_webp))) { возможно лучше использовать filemtime Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 4
Recommended Posts