ThinkPHP6 七牛云上传图片以及删除图片
2021/12/14 20:19:18
本文主要是介绍ThinkPHP6 七牛云上传图片以及删除图片,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、使用七牛云
申请七牛云账户;
开通对象存储功能(空间0/10GB,免费的);
创建 changj (空间名称);
在秘钥管理,创建一个秘钥,获取 AccessKey / SecretKey;
二、集成PHP-SDK
七牛云开发文档:对象存储 - 七牛开发者中心
Composer 安装 SDK
进入cmd 终端,切换目录到你部署项目的根目录下,执行以下命令即可:
composer require qiniu/php-sdk
添加表单页面:
<form action="跳转地址" method="跳转方式" enctype="multipart/form-data"> <div class="form-group" > <label>请输入标题</label> <input type="text" class="form-control" name="text"> </div> <div class="form-group"> <label for="exampleInputPassword1">文件</label> <input type="file" class="form-control" name="image"> </div> <button type="submit" class="btn btn-primary">Submit</button> </form>
控制器方法页面:
public function orderin(Request $request){ // 获取表单上传文件 例如上传了001.jpg $key=input('post.text'); $image = $request->file('image'); //获取上传后的文件路径 // 图片存储在本地的临时路经 $filePath = $image->getRealPath(); // 获取图片后缀 $ext = $image->getOriginalExtension(); // 上传到七牛后保存的新图片名 $newImageName = substr(md5($image->getOriginalName()),0,6) . rand(00000,99999) . '.'.$ext; $auth = new Auth('七牛云AK','七牛云SK'); // 要上传的空间位置 $token = $auth->uploadToken('空间名称'); // 初始化 UploadManager 对象并进行文件的上传。 $uploadMgr = new UploadManager(); list($ret , $err) = $uploadMgr->putFile($token , $newImageName , $filePath); if($err !== null){ return null; }else{ // 图片上传成功 $da['image']=$newImageName; $da['text']=$key; $da['date']=date("Y/m/d"); $n=控制器名称::create($da); if ($n){ return '添加成功'; } } }
图片展示页面:
public function ordershow(){ //做了一个分页 $data=Order::paginate(1); foreach ($data as $item=>$value){ $date[$item]['image']='七牛云图片路径'.$value['image']; } return View::fetch('order/ordershow',compact('data')); }
删除七牛云接口:
public function deleteBanner() { //接收参数 $params = input(); //删除逻辑,删除七牛云,删除数据库数据 $banner = BannerModel::get($params['id']); //删除七牛云 $accessKey = '';//去控制台的秘钥管理拿AK $secretKey = '';//去控制台的秘钥管理拿SK //七牛云桶名,根据自己实际进行填写 $bucket = ''; //域名长度 $len = strlen('http://qtpud69oi.hn-bkt.clouddn.com/'); //要删除七牛云图片路径 $delImageUrl = substr($banner->image_url,$len); $auth = new Auth($accessKey, $secretKey); $config = new \Qiniu\Config(); $bucketManager = new \Qiniu\Storage\BucketManager($auth, $config); $bucketManager->delete($bucket, $delImageUrl); //删除数据数据 $banner->delete(); return json([ 'msg'=>'删除成功', 'code'=>200, 'result'=>'' ]); }
这篇关于ThinkPHP6 七牛云上传图片以及删除图片的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-19php8的协程和hyperf的协程有什么区别?-icode9专业技术文章分享
- 2024-12-19php8 的fiber是什么?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-11-29使用PHP 将ETH账户的资产汇集到一个账户
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享