alexgiuvara / imgproxy
imgproxy 的 Laravel 服务提供者:即时且安全地调整图像大小
该软件包的官方仓库似乎已不存在,因此该软件包已被冻结。
v1.0.0
2019-02-10 19:44 UTC
Requires
- php: >=7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.10
- karriere/phpspec-matchers: ^2.0
- mockery/mockery: ^1.0
- orchestra/testbench: ^3.5
- phpspec/phpspec: ^4.3
README
img-proxy
Laravel 服务提供者,用于 Golang ImgProxy 微服务 https://evilmartians.com/chronicles/introducing-imgproxy
安装
与 Laravel 5.1 - 5.7 / PHP 7.0 - 7.2 兼容,可能也兼容 7.3
composer require alexgiuvara/imgproxy
- 将 ServiceProvider 复制到 config/app.php 中的 providers 数组。Laravel 5.5 用户且启用自动发现可能跳过此步骤
AlexGiuvara\ImgProxy\ImgProxyServiceProvider::class,
- 使用发布命令将软件包配置复制到本地配置
php artisan vendor:publish --provider="AlexGiuvara\\ImgProxy\\ImgProxyServiceProvider"
-
要生成密钥,可以使用以下命令:
echo $(xxd -g 2 -l 64 -p /dev/random | tr -d '\n')
-
环境文件
# img-proxy.base_url IMGPROXY_URL=https://img-proxy-example.com # your img-proxy key IMGPROXY_KEY=943b421c9eb07c830af81030552c86009268de4e532ba2ee2eab8247c6da0881 # your img-proxy salt IMGPROXY_SALT=520f986b998545b4785e0defbc4f3c1203f22de2374a3d53cb7a7fe9fea309c5
此软件包不包含 Authorization
头。
使用方法
辅助工具
imgProxy('https://www.nasa.gov/sites/default/files/images/528131main_PIA13659_full.jpg', 640, 360)
use AlexGiuvara\ImgProxy\Contracts\ImageSignatureInterface; use AlexGiuvara\ImgProxy\Image; Route::get('/img-test', function () { $path = 'https://www.nasa.gov/sites/default/files/images/528131main_PIA13659_full.jpg'; $width = 640; $height = 360; $pic = new Image; $pic->setOriginalPictureUrl($path) ->setWidth($width) ->setHeight($height) ->setResize('fit') ->setGravity('no') ->setEnlarge(0) ->setExtension('png'); app()->instance(Image::class, $pic); $signature = app(ImageSignatureInterface::class); echo ' Resized: <img src="' . config('img-proxy.base_url') . $signature->take() . '" alt="Resized"> <br> Original: <img src="' . $path . '" alt="Original"> '; });