Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Не могу загружать фото в webp


Recommended Posts

Всем привет! Скажите пожалуйста как добавить поддержку формата webp? А то приходится конвертировать каждое фото перед загрузкой на сервер.

Надіслати
Поділитися на інших сайтах


4 минуты назад, Best223 сказал:

Поставил вот это расширение нажал обновить, сбросил весь кэш. Все равно пишет не корректный тип файла.

 

Не заработало это, ищите другой.

Надіслати
Поділитися на інших сайтах

6 minutes ago, Prooksius said:

по таким ответам очень сложно помочь..
как именно не сработало?

Пишет тоже самое что не корректный тип файла. Как вы сказали я добавил форматы на сервер. Сбросил кэш. Но пишет тоже самое.

  • +1 1
Надіслати
Поділитися на інших сайтах


4 minutes ago, Prooksius said:

Возможно у вас кастомный файловый менеджер, который подменяет шаблон, нужно тогда искать настройки в шаблоне.

Да вроде стандартный обычный с виду как на всех. А вот после того что я добавил в разрешенный типы файлов. Он ведь по сути должен хотя бы загрузить их на сервер?

Змінено користувачем Best223
Надіслати
Поділитися на інших сайтах


аа, фу ты, да, не то сказал.. Это форматы для загрузок, а не для файлового менеджера

Тут нужно в коде ковыряться..
admin\controller\common\filemanager.php
Вот здесь почему-то даже в 3 версии прописаны все форматы жестко. Так неудобно..

index.png

  • +1 1
Надіслати
Поділитися на інших сайтах

12 minutes ago, Prooksius said:

что-то Агата не доделала свой модуль, надо было добавить это в модификатор

Блин все фотки пропали теперь. Обратно сделал но не помогло.  https://stroy-industr.ru/dveri-jeld-wen/

 

Как вернуть скажите пожалуйста ???

Надіслати
Поділитися на інших сайтах


4 минуты назад, Best223 сказал:

Блин все фотки пропали теперь. Обратно сделал но не помогло.  https://stroy-industr.ru/dveri-jeld-wen/

 

Как вернуть скажите пожалуйста ???

Лучше сделать "бекап", всегда помогает ✌️😇

Надіслати
Поділитися на інших сайтах


Все заработал. Блин а я всего добавил вот в этот код.  webp и image/webp. Востановил базу от 9  числа. Сайт теперь работает. Но теперь боюсь туда добавлять код

Opera Снимок_2022-01-16_141211_cp2.webhost1.ru.png

Змінено користувачем Best223
Надіслати
Поділитися на інших сайтах


  • 1 year later...

Не знаю, чи у всіх працює webp формат. Тому залишу тут інфу.

Додаєте webp та image/webp в налаштуваннях сервера.

index.png.a611391c33f7748a00f071c00906e899.png.b25f018f1613843b7bfb65de6b5e68d1.png

16.01.2022 в 10:31, Prooksius сказал:

аа, фу ты, да, не то сказал.. Это форматы для загрузок, а не для файлового менеджера

Тут нужно в коде ковыряться..
admin\controller\common\filemanager.php
Вот здесь почему-то даже в 3 версии прописаны все форматы жестко. Так неудобно..

index.png

Шукаєте рядок в admin\controller\common\filemanager.php

         // Get files
         $files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF,}', GLOB_BRACE);
 
         if (!$files) {
            $files = array();
         }
      }

і заміняєте на 

         // Get files
         $files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,webp,JPG,JPEG,PNG,GIF,WEBP}', GLOB_BRACE);
 
         if (!$files) {
            $files = array();
         }
      }

Додаєте webp та image/webp, як вказано на скріншоті 2

Далі потрібно в 

admin\model\tool\image.php замінити 16-й рядок на 

         if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF, IMAGETYPE_WEBP))) {
            if ($this->request->server['HTTPS']) {
               return HTTPS_CATALOG . 'image/' . $image_old;
            } else {
               return HTTP_CATALOG . 'image/' . $image_old;
            }
         }

Далі \catalog\model\tool\image.php, в 16 рядку замінити на

         if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF, IMAGETYPE_WEBP))) {
            if ($this->request->server['HTTPS']) {
               return $this->config->get('config_ssl') . 'image/' . $image_old;
            } else {
               return $this->config->get('config_url') . 'image/' . $image_old;
            }

Після цього зображення будуть працювати

Screenshot_1.thumb.png.34c22c18f524d89a483539f7ee871eaf.png

Змінено користувачем Galant1
  • +1 1
Надіслати
Поділитися на інших сайтах


  • 1 month later...

добрый день.

сделал все как написали выше, ничего не помогло.

фото парсил аопом. 

на сайте сейчас так отображает

 image.png.d61f410e6984f00399306c302297a916.png

при нажатии на фото 

image.png.463f7363c0a6babbc76baa3923dde207.png

 

при добавлении фото webp с помошью Handy Product Manager

 image.png.dbe1744b9f62aa845934e1f3cd369272.png

 

может кто-то что-то еще подскажет?

 

 

Надіслати
Поділитися на інших сайтах


А хтось тестував рішення по формату WEBp про яке написав вище @Galant1

Яке рішення насправді працює щоб без додаткових модулів?

Надіслати
Поділитися на інших сайтах


08.03.2023 в 17:30, Galant1 сказал:

Не знаю, чи у всіх працює webp формат. Тому залишу тут інфу.

Додаєте webp та image/webp в налаштуваннях сервера.

index.png.a611391c33f7748a00f071c00906e899.png.b25f018f1613843b7bfb65de6b5e68d1.png

Шукаєте рядок в admin\controller\common\filemanager.php

         // Get files
         $files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF,}', GLOB_BRACE);
 
         if (!$files) {
            $files = array();
         }
      }

і заміняєте на 

         // Get files
         $files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,webp,JPG,JPEG,PNG,GIF,WEBP}', GLOB_BRACE);
 
         if (!$files) {
            $files = array();
         }
      }

Додаєте webp та image/webp, як вказано на скріншоті 2

Далі потрібно в 

admin\model\tool\image.php замінити 16-й рядок на 

         if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF, IMAGETYPE_WEBP))) {
            if ($this->request->server['HTTPS']) {
               return HTTPS_CATALOG . 'image/' . $image_old;
            } else {
               return HTTP_CATALOG . 'image/' . $image_old;
            }
         }

Далі \catalog\model\tool\image.php, в 16 рядку замінити на

         if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF, IMAGETYPE_WEBP))) {
            if ($this->request->server['HTTPS']) {
               return $this->config->get('config_ssl') . 'image/' . $image_old;
            } else {
               return $this->config->get('config_url') . 'image/' . $image_old;
            }

Після цього зображення будуть працювати

Screenshot_1.thumb.png.34c22c18f524d89a483539f7ee871eaf.png

 

В останньому прикладі забув додати ще дужку.

         if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF, IMAGETYPE_WEBP))) {
            if ($this->request->server['HTTPS']) {
               return $this->config->get('config_ssl') . 'image/' . $image_old;
            } else {
               return $this->config->get('config_url') . 'image/' . $image_old;
            }
			}

 

  • +1 2
Надіслати
Поділитися на інших сайтах


  • 4 weeks later...

 

 

Screenshot_14.jpg.7abb1ba559667b81ea4407c7c6f54c87.jpg

После чистки кеша получаю вот такие ошибки вместо загрузки изображений. Правки, которые вы предложили тоже не помогают, удаление модуля тоже не помогает. Подскажите, какой может быть выход?

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...
  • 2 months later...

Усім привіт. Окрім вище приведених дій від Galant1. Мені допомогло ще оце.
Переходимо в system/library та редактуємо файл image.php
Шукаємо це( приблизно 42 рядок ):

if ($this->mime == 'image/gif') {
				$this->image = imagecreatefromgif($file);
			} elseif ($this->mime == 'image/png') {
				$this->image = imagecreatefrompng($file);
			} elseif ($this->mime == 'image/jpeg') {
				$this->image = imagecreatefromjpeg($file);
			}


Міняємо на:

if ($this->mime == 'image/gif') {
				$this->image = imagecreatefromgif($file);
			} elseif ($this->mime == 'image/png') {
				$this->image = imagecreatefrompng($file);
			} elseif ($this->mime == 'image/jpeg') {
				$this->image = imagecreatefromjpeg($file);
			} elseif ($this->mime == 'image/webp') {
				$this->image = imagecreatefromwebp($file);
			}


Шукаємо це( приблизно 121 рядок ): 
 

if (is_resource($this->image)) {
			if ($extension == 'jpeg' || $extension == 'jpg') {
				imagejpeg($this->image, $file, $quality);
			} elseif ($extension == 'png') {
				imagepng($this->image, $file);
			} elseif ($extension == 'gif') {
				imagegif($this->image, $file);
			}

			imagedestroy($this->image);
		}

Міняємо на :
 

if (is_resource($this->image)) {
			if ($extension == 'jpeg' || $extension == 'jpg') {
				imagejpeg($this->image, $file, $quality);
			} elseif ($extension == 'png') {
				imagepng($this->image, $file);
			} elseif ($extension == 'gif') {
				imagegif($this->image, $file);
			}elseif ($extension == 'webp') {
				imagegif($this->image, $file);
			}

			imagedestroy($this->image);
		}


Після цих маніпуляцій опенкарт 3 тепер нормально все показує та завантажує.

  • +1 1
Надіслати
Поділитися на інших сайтах


  • 3 months later...
В 21.04.2023 в 16:47, 1403060 сказав:

А хтось тестував рішення по формату WEBp про яке написав вище @Galant1

Яке рішення насправді працює щоб без додаткових модулів?

 

к сожалению не работает абсолютно ничего

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.