Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Поддержка WebP #871

Closed
makartsoft opened this issue Jun 14, 2018 · 11 comments
Closed

Поддержка WebP #871

makartsoft opened this issue Jun 14, 2018 · 11 comments
Milestone

Comments

@makartsoft
Copy link

Добрый день. WebP сегодня поддерживается всеми современными браузерами и многими графическими редакторами. На многих движках его поддержка уже включена.
Предлагается включить поддержку WebP в InstantCMS. Спасибо

@fuzegit fuzegit added this to the 2.10.1 milestone Jun 14, 2018
@Val-Git
Copy link
Contributor

Val-Git commented Jun 14, 2018

Ничего не имею против WebP, но про поддержку всеми современными браузерами это вы загнули! Кроме хрома (+ возможно браузеров на его основе) и мобильных андроид браузеров больше ничто не поддерживает пока.
Но, соглашусь, ключевое слово "пока"))

@fuzegit
Copy link
Member

fuzegit commented Jun 14, 2018

Я уже сделал, там правки в 2х строчках

@makartsoft
Copy link
Author

Добрый день. Спасибо за внимание к этому предложению. Но к сожалению, простое добавление webp в system/controllers/images/frontend.php не позволяет грузить такие файлы.

Пробовал у себя (php 6 и 7, поддержка webp на хостинге включена) и на демо сайте. Пишет, что "Файл имеет неподходящий формат"

@fuzegit
Copy link
Member

fuzegit commented Jul 15, 2018

У меня всё работает. Работа осуществляется функциями imagewebp и imagecreatefromwebp, имена которых формируются динамически.

@fuzegit
Copy link
Member

fuzegit commented Jul 15, 2018

Для теста я взял изображение из поиска гугла http://whatjackhasmade.co.uk/wp-content/uploads/2017/06/compressed.webp

И загрузил его на аватар

_025

@makartsoft
Copy link
Author

makartsoft commented Jul 15, 2018

Странно. Сейчас вновь проверил - не работает. На демосайте https://demo.instantcms.ru/ тоже не работает.

Т.е. открываю профиль https://demo.instantcms.ru/users/2, нажимаю редактировать профиль, удаляю существующий аватар и загружаю тестовое изображение, которое вы привели в пример http://whatjackhasmade.co.uk/wp-content/uploads/2017/06/compressed.webp. Выдает ошибку "Файл имеет неподходящий формат".

Тип контента "Новости" - аналогично на демосайте.

default

Тоже самое на реальном хостинге и на чистой установке OpenServer.

Для чистоты эксперимента попробовал на чистой установке WordPress (плюс плагин для Webp https://wordpress.org/plugins/cache-enabler/) с этим изображением и своим файлом в Webp - работает.

wp 1

@fuzegit
Copy link
Member

fuzegit commented Jul 15, 2018

Я разобрался.
Всё в общем-то работает, проблема в том, что функция finfo_file, которая валидирует файл по его заголовкам (это наиболее надёжный способ), отдаёт mime тип как "application/octet-stream" вместо положенного "image/vnd.wap.wbmp".
Вероятней всего, более старые версии php и функция finfo_file просто не понимает этот тип файла.

Решение тут нет как такового, кроме как установить версию PHP поновее. Если хотите чтобы заработало в ущерб безопасности, то в файле /system/core/uploader.php после строчки

private function isMimeTypeAllowed($file_path) {

добавить

return true;

Но я бы так делать не стал.

@makartsoft
Copy link
Author

Fuze, спасибо, вы правы. Стояла версия php7.0. На версии 7.2 заработало без проблем.

@iAndroS
Copy link

iAndroS commented Aug 22, 2020

А автоконвертацию в момент загрузки в webp реально прикрутить? И выводить, соответственно, оба варианта в шаблоне для разных браузеров в зависимости от поддержки формата...

@facepoint
Copy link

А автоконвертацию в момент загрузки в webp реально прикрутить? И выводить, соответственно, оба варианта в шаблоне для разных браузеров в зависимости от поддержки формата...

Да, это очень актуально на сегодняшний день! Гугл очень положительно к этому относится. А тем более сегодня, когда скорости загрузки на мобильных отдается особое предпочтение. В битрикс видимо есть реализация https://vc.ru/services/279880-kak-uskorit-zagruzku-sayta-s-webp и во многих других движках, которые при этом по всем параметрам уступают инстанту:) Apple также стал поддерживать этот формат. А если отдавать в двух форматах, то 100% будет работать у всех! По сути такая поддержка нужна в трех полях: изображение, список изображений, фотогалерея.

@fuzegit
Copy link
Member

fuzegit commented Dec 24, 2021

Всё давно есть.

Выделение_005

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

5 participants