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实现上传图片裁剪功能方法


基础教程推荐
猜你喜欢
- PHP实现生成数据字典功能示例 2022-10-18
- PHP数据加密方式梳理介绍 2023-07-03
- php中使用array_filter()函数过滤数组实例讲解 2023-05-19
- TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例 2023-01-19
- TP5 连接多个数据库及使用方法 2023-08-30
- PHP实现创建一个RPC服务操作示例 2023-04-01
- PHP删除数组中指定值的元素常用方法实例分析【4种方法】 2022-11-12
- thinkPHP3.2.2框架行为扩展及demo示例 2022-11-07
- laravel model模型定义实现开启自动管理时间created_at,updated_at 2023-03-02
- PHP使用SMTP邮件服务器发送邮件示例 2022-11-16