PHP7-优化图像(压缩而不损失质量)

时间:2019-05-19 21:39:12

标签: php image web compression

我的项目有问题。我想优化图像。我尝试将图像转换为.webp,但发现浏览器不支持该图像。

当我在Google的PageSpeedInsight上测试我的网站时,它会警告我有关图像的信息,我需要对其进行压缩。同时,他为我提供了新的压缩图片,而且尺寸非常小。

但是我尝试使用PHP来做到这一点,但是我无法获得与Google Page Insight相同的结果。

pageSpeedInsight的消息:

  

JPEG 2000,JPEG XR和WebP等图像格式通常可以提供更好的   比PNG或JPEG压缩,这意味着下载速度更快且更少   数据消耗

是否有最佳的解决方案来优化图像?我使用本机PHP框架(MVC)。

1 个答案:

答案 0 :(得分:0)

您可以安装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>