PHP7 - оптимизировать изображения (сжатие без потери качества) - PullRequest
1 голос
/ 20 мая 2019

У меня проблема с моим проектом.Я хочу оптимизировать изображения на нем.Я попытался преобразовать изображения в .webp, но обнаружил, что они не поддерживаются браузерами.

Когда я тестирую свой веб-сайт на PageSpeedInsight в Google, он дает мне предупреждение об изображениях, и мне нужно их сжать.и в то же время он дает мне новую картинку сжатия, идеально и с небольшим размером.

Но я пытаюсь сделать это с помощью PHP, но я не могу получить тот же результат на странице Google Insight.

Сообщение от pageSpeedInsight:

Форматы изображений, такие как JPEG 2000, JPEG XR и WebP, часто обеспечивают лучшее сжатие, чем PNG или JPEG, что означает более быструю загрузку и меньшее потребление данных

Есть ли лучшее решение для оптимизации изображений?Я использую собственный PHP-фреймворк (MVC).

1 Ответ

0 голосов
/ 20 мая 2019

Вы можете установить Intervention Image библиотеку, чтобы конвертировать ваши изображения в формат WEBP.

И используйте .htaccess для отображения изображений webp, когда сервер поддерживает, потому что не все браузеры поддерживают изображения WEBP. В этом случае у вас должна быть копия изображения в другом распространенном расширении (jpg, png), и вы можете сжать с помощью tinypng API.

<IfModule mod_setenvif.c>
    # Vary: Accept for all the requests to jpeg and png
    SetEnvIf Request_URI "\.(jpe?g|png)$" REQUEST_image
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On

    # Check if browser supports WebP images
    RewriteCond %{HTTP_ACCEPT} image/webp

    # Check if WebP replacement image exists
    RewriteCond %{DOCUMENT_ROOT}/$1.webp -f

    # Serve WebP image instead
    RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp]
</IfModule>

<IfModule mod_headers.c>
    Header append Vary Accept env=REQUEST_image
</IfModule>

<IfModule mod_mime.c>
    AddType image/webp .webp
</IfModule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...