elgentos / imgproxy-php
darthsim/imgproxy 的 URL 生成器
Requires
- php: >=7.3
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-09 12:56:13 UTC
README
查看 https://github.com/DarthSim/imgproxy.
从 v2.0 版本开始,imgproxy-php 支持高级 URL 生成。请见下文。
imgproxy-php v2.0 完全与 v1.0 兼容,升级时不应有任何问题。
如果这些问题仍然存在,欢迎您提交错误报告,更欢迎您创建拉取请求。
这是一个小型软件包,允许您生成通过 imgproxy 缩放的图片的 URL。
$builder = new UrlBuilder("http://localhost:8080", "< your HEX key >", "< you HEX salt >"); // Generate imgproxy URL for an image, resizing to 300x200 with default settings (*) $url = $builder->build("http://myimages.localhost/cats.jpg", 300, 200); // By default, the URL is generated in basic mode echo $url->toString(); // Customize URL params $url->setFit("fill") ->setWidth(1200) ->setHeight(1200) ->setGravity("no") ->setEnlarge(true); // switch to advanced URL mode with tons of extra features, superior to the basic mode: $url->useAdvancedMode(); // set processing options: $url->options()->withDpr(2)/* -> chain more with<FEATURE>() calls -> ... */; echo $url->toString();
(*) 默认设置
- 模式:基本(显然,基本模式已被 imgproxy 弃用,未来版本可能将其删除)
- 适配: fit
- 重力: sm(智能)
- 放大: 0(不放大图片)
请参考 imgproxy 文档以了解参数描述和可能的值。
Imgproxy PRO 功能
Imgproxy 的某些功能仅在 PRO 版本中可用。请参阅文档 https://docs.imgproxy.net/generating_the_url_advanced 并注意某些处理选项上的 PRO
标签。在非 PRO 版本的 Imgproxy 实例上使用这些选项将导致 "Invalid URL" 响应。
实际测试
在根目录中,您将找到 docker-compose.yml
文件,它将在端口 8080 启动 imgproxy
实例。还有一个 composer 脚本 generate
,带参数
- base : 字符串基本 URL
- key : 字符串 IMGPROXY_KEY
- salt : 字符串 IMGPROXY_SALT
- source : 字符串源图片 URL
- width : 整数宽度
- height : 整数高度
- 高级(无需值)
一旦您通过 docker-compose up
启动了您的本地 docker-compose 集群,您可以使用以下命令调用此脚本
composer run-script generate -- \ --base <imgproxy base URL> \ --source <source image URL> \ --key <IMGPROXY_KEY> \ --salt <IMGPROXY_SALT> --width <width> \ --height <height> \ --advanced # example: composer run-script generate -- \ --base http://localhost:8080 \ --source http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Cailliau_Abramatic_Berners-Lee_10_years_WWW_consortium.png/330px-Cailliau_Abramatic_Berners-Lee_10_years_WWW_consortium.png \ --key 943b421c9eb07c830af81030552c86009268de4e532ba2ee2eab8247c6da0881 \ --salt 520f986b998545b4785e0defbc4f3c1203f22de2374a3d53cb7a7fe9fea309c5
请注意,KEY 和 SALT 对提供 docker-compose.yml
启动的 imgproxy 实例有效。您还可以通过提供相关的 base
、key
和 salt
来测试任意自定义 imgproxy 安装的 URL 生成。祝您测试愉快!