Laravel8实现上传图片裁剪功能方法1、 安装扩展composer;require;intervention/image2、 在 app/config/app.php 添加 providers 数组中添加如下代码:Intervention\Image\ImageServiceProvider::class,3、 在 app/co
Laravel8实现上传图片裁剪功能方法
1、 安装扩展
composer require intervention/image
2、 在 app/config/app.php 添加 providers 数组中添加如下代码:
Intervention\Image\ImageServiceProvider::class,
3、 在 app/config/app.php 添加 aliases 数组中添加如下代码:
'Image' => Intervention\Image\Facades\Image::class,
4、发布扩展生成 config/image.php 配置文件,执行下面命令
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravelRecent"
5、使用
<?php
use Intervention\Image\Facades\Image;
//后面为图片路径
$img = Image::make('./image/abc.jpg')->resize(300, 300);
// 将处理后的图片重新保存到其他路径
$img->save('./image/new_abc.jpg');
?>
完整方法:
<?php
/*
* 图片上传接口
* 文件名
* 文件夹名
* */
public static function uploadImg($file,$folder){
$tmp = $file;
$folder = $folder ? $folder : "";
$path = '/static/uploads'; //public下的Uploads
if ($tmp->isValid()) { //判断文件上传是否有效
$FileType = $tmp->getClientOriginalExtension(); //获取文件后缀
$FilePath = $tmp->getRealPath(); //获取文件临时存放位置
$FileName = $folder.'/'.date('Ymd').'/' . uniqid() . '.' . $FileType; //定义文件名
Storage::disk('Uploads')->put($FileName, file_get_contents($FilePath)); //存储文件
$img = Image::make(public_path().$path . '/' . $FileName)->resize(30, 30);
$img->save(public_path().$path . '/' . $FileName);
return $data = [
'code' => ApiErrDesc::UPLOAD_SUCCESS[0],
'msg' =>ApiErrDesc::UPLOAD_SUCCESS[1] ,
'data'=>['path' => $path . '/' . $FileName] //文件路径
];
}else{
return $data = [
'code' => ApiErrDesc::UPLOAD_ERROR[0],
'msg' =>ApiErrDesc::UPLOAD_ERROR[1] ,
'data'=>[]
];
}
}
?>
沃梦达教程
本文标题为:Laravel8实现上传图片裁剪功能方法
基础教程推荐
猜你喜欢
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- php array分组,PHP中array数组的分组排序 2022-08-01
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- 使用PHP开发留言板功能 2023-03-13
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- PHP中的错误及其处理机制 2023-06-04
- PHP命名空间简单用法示例 2022-12-01