loveduckie / silverstripe-webp-image
自动从现有的 .jpeg, .png 和 .gif 文件生成并服务 .webp 图片。
Requires
- silverstripe/framework: ^4.10 | ^5.0
Requires (Dev)
- phpunit/phpunit: ^5.7
This package is auto-updated.
Last update: 2024-09-22 16:48:45 UTC
README
概述
此模块通过在请求时自动将图像资产转换为 .webp
格式来自动优化图像资产。有关 WebP 图像格式的更多信息,请参阅此处。有关对本次分支所做的修改及其理由的详细信息,请参阅以下链接。
与 NGINX 集成
我已经修改了此插件,使得创建的 .webp
文件具有 file_name_goes_here.<original extension>.webp
的文件名。这样做的原因是可以通过类似下面的 NGINX 配置等方式,自动用创建的图像替换原始图像资产。
map $http_accept $webp_suffix { default ""; "~*webp" ".webp"; } location ~* /assets/.+\.(?<extension>jpe?g|png|gif|webp)$ { # more_set_headers 'Content-Type: image/webp'; gzip_static on; gzip_types image/png image/x-icon image/webp image/svg+xml image/jpeg image/gif; add_header Vary Accept; expires max; sendfile on; try_files "${request_uri}${webp_suffix}" $uri =404; }
如果请求的 Web 客户端将其 Accept
头部分为 webp
,则 webp_suffix
变量将被填充为 .webp
扩展名。然后 NGINX 将尝试找到该资产的 .webp
版本,如果找不到,则提供原始版本。
简介
此模块从调整大小的 jpeg 和 png 图像创建 webp 图片。有关 webp 图片的更多信息,请参阅https://developers.google.com/speed/webp/
要求
- Silverstripe > 4.2
- GDLib with webp Extension
安装
composer require loveduckie/silverstripe-webp-image
使用
-
运行
dev/build?flush=1
-
强制浏览器加载 webp 图片 // 示例 1 (默认) 编辑
root
目录下的.htaccess
文件,并在兼容的浏览器中添加webp
重定向 -
强制浏览器加载 webp 图片 // 示例 2 关于 html 中 webp 图片使用的更多信息,请参阅 css-tricks.com
快速测试文件以检查 webp 是否可用
以下代码可以快速检查是否已安装 GD 库支持 webp。只需将此代码复制到您的 root
文件夹中的一个 .php
文件中,然后在浏览器中打开该文件。
<?php if (function_exists(imagewebp)) { echo "WebP is available"; } else { echo "WebP is not available"; }
待办事项
- 文档
- IMagick 支持
- PHP 测试以检查支持
- 删除 Webp 图片
- 刷新 Webp 图片