broqiang / laravel-image
Laravel 图片处理
该包的官方仓库似乎已不存在,因此该包已被冻结。
1.0.1
2018-03-07 15:45 UTC
Requires
- php: ~7.1.0
- intervention/image: ^2.4
- laravel/framework: ~5.5
- qiniu/php-sdk: 7.2.*
This package is not auto-updated.
Last update: 2022-02-13 18:19:41 UTC
README
Laravel 框架使用的图片上传类,方便进行图片上传,支持本地存储和七牛云
依赖关系
-
intervention/image 强大的图片处理类,此处使用该工具进行图片缩放
-
qiniu/php-sdk 用于实现七牛云的图片上传
用于 Laravel 的图片处理
计划支持本地图片和七牛云,暂时先只实现本地上传,后续有时间再完善
使用方法
安装扩展包
composer require broqiang/laravel-image "1.0.*"
发布配置文件
如果默认配置文件可以满足需求,可以跳过此步。如果不满足需求,需要自定义配置,可以执行以下命令,然后到 config/bro_image.php 中进行修改
php artisan vendor:publish --provider="BroQiang\LaravelImage\LaravelImageProvider"
使用
// 注意要引入命名空间 $image = new BroImage(); // 支持动态传入配置文件,所有配置文件中的配置都可以传入,在第二个参数中传入一个数组即可, // key 和配置文件中的 key 相同即可 $config = [ 'folder' => 'avatar', 'file_prefix' => 'avatar_', 'max_width' => 260, ]; // $file 是 Laravel 的 Illuminate\Http\UploadedFile 对象 ,可以通过 Request 直接得到 $file = $request->avatar; // 也可以通过下面方式 $file = $request->file('avatar'); $info = $image->upload($file, $config); // 也可以使用链式操作去配置 $info = $image->setConfig($config)->upload($file);
具体参数可以查看默认配置文件,其中包含详细的介绍
将图片上传到七牛云
图片默认上传到本地,如果需要上传到七牛云,需要对以下内容进行配置
由于都是敏感信息,所以将其放在 .env 文件中,因为这个文件不需要上传到 GitHub
.env
# 七牛的 access key 和 secret key 可以到个人中心的密钥管理中获得 QINIU_ACCESS_KEY= QINIU_SECRET_KEY= # bucket 就是对象存储的存储空间的名称 QINIU_BUCKET= # 这里是七牛的 CDN 融合加速域名,可以在存储空间中找到,如我的就是 http://image.broqiang.com QINIU_DOMAIN=
_bro_image.php
'upload_type' => 'local', // 改为 'upload_type' => 'qiniu',