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

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

当我在Google的PageSpeedInsight上测试我的网站时,它给了我关于图像的警告,我需要 压缩它们。 同时,他给了我新的压缩图片,完美且尺寸小。</ p>

但我尝试用PHP做到这一点,但我不能得到相同的结果 google page Insight。</ p>

来自pageSpeedInsight的消息:</ p>


JPEG 2000,JPEG XR和WebP等图像格式通常提供更好的\ n压缩比PNG或JPEG,这意味着更快的下载和更少的数据消耗</ p>
</ blockquote>

是否有任何优化图像的最佳解决方案? 我使用本机PHP框架(MVC)。</ p>
</ div>

展开原文

原文

I have a problem with my project. I want to optimize images on it. I tried to convert images to .webp, but I found that it not supported by browsers.

When I test my website on PageSpeedInsight of Google, it's given me warning about images and I need to compress them. and at the same time, he gives me the new compress picture, perfectly and with small size.

But I try to do that with PHP, but I can't get the same result of google page Insight.

Message from pageSpeedInsight:

Image formats like JPEG 2000, JPEG XR, and WebP often provide better compression than PNG or JPEG, which means faster downloads and less data consumption

Is there any best solution to optimize images? I use a native PHP framework (MVC).

doulan6245
doulan6245 我尝试但仍然是问题,我在网站上的所有图片都是jpg,我总是得到这个警报
一年多之前 回复
douping3427
douping3427 将它们转换为jpgs。
一年多之前 回复

1个回答



您可以安装干预图像 库,将图像转换为WEBP格式。</ p>

使用.htaccess在服务器支持时显示webp图像,因为并非所有浏览器都支持WEBP图像。 在这种情况下,您必须拥有其他常见扩展名(jpg,png)中的图像副本,并且可以使用 tinypng API进行压缩 。 </ p>

 &lt; IfModule mod_setenvif.c&gt; 
#Vary:接受所有请求jpeg和png
SetEnvIf Request_URI“\。(jpe? g | png)$“REQUEST_image
&lt; / IfModule&gt;

&lt; IfModule mod_rewrite.c&gt;
RewriteEngine On

#检查浏览器是否支持WebP图像
RewriteCond%{HTTP_ACCEPT} image / webp

#检查WebP替换图像是否存在
RewriteCond%{DOCUMENT_ROOT} / $ 1.webp -f

#服务WebP图像而不是
RewriteRule(。+)\。(jpe?g | png)$ $ 1。 webp [T = image / webp]
&lt; / IfModule&gt;

&lt; IfModule mod_headers.c&gt;
标题追加Vary Accept env = REQUEST_image
&lt; / IfModule&gt;

&lt; IfModule mod_mime.c&gt; \ n AddType image / webp .webp
&lt; / IfModule&gt;
</ code> </ pre>
</ div>

展开原文

原文

You can install Intervention Image library, to convert your images to WEBP format.

And use .htaccess to show the webp images when server supports, cuz not all browsers support WEBP images. In this case, you must have a copy of the image in other common extension (jpg, png) and you can compress with 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>

dragon8997474
dragon8997474 是的,这是Googles V8的一部分。 它也不是没有它的问题(我读到的东西,在某些情况下,质量与压缩率可能比JPG更差)。 但在某些时候,他们需要完全放弃所有那些旧的格式。
一年多之前 回复
douyu3145
douyu3145 是的。 很不方便,但我相信只有Chrome支持WEBP。
一年多之前 回复
duancanjiu3754
duancanjiu3754 并非所有浏览器都支持WEBP图像 - 这是不幸的。 我已经等了很长时间了。 WEBP就像是JPG和PNG的混合体。 使用更好的压缩并具有透明度。 也许它会在2020年底之前完成大声笑......人们可以希望。 然后我们可以摆脱所有这些遗留格式。 如果我记得它也支持动画帧。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐