iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Thinkphp6使用七牛云
  • 268
分享到

Thinkphp6使用七牛云

php数据库服务器 2023-09-29 05:09:06 268人浏览 安东尼
摘要

问题描述:在开发项目的时候,需要用到七牛云用以保存附件 步骤: 下载七牛云所需要的文件 composer require qiniu/PHP-sdk 在七牛云上注册自己的账号,获取两个密匙AK、SK

问题描述:在开发项目的时候,需要用到七牛云用以保存附件

步骤:

  1. 下载七牛云所需要的文件
composer require qiniu/PHP-sdk
  1. 在七牛云上注册自己的账号,获取两个密匙AK、SK和空间名称
    在这里插入图片描述
    在这里插入图片描述

  2. 新建一个配置文件qiniu.php
    在这里插入图片描述

  3. 控制器代码

declare (strict_types = 1);namespace app\controller;use app\BaseController;use app\Request;use think\App;use Qiniu\Storage\UploadManager;use app\service\Qiniu as QiniuService;use think\facade\Db;use think\facade\View;class QiniuUpload extends BaseController{    protected $service;    public function __construct(App $app, QiniuService $service)    {        parent::__construct($app);        $this->service = $service;    }    public function index()    {        View::assign(            [                'token'=>$this->service->getUpToken()            ]        );        return view();    }        public function uploadFile(Request $request)    {        $fileName = $request->post('file_name');        $token = $request->post('upload_token');        $image = $request->file('file');//        获取临时路径        $filePath = $image->getRealPath();//        获取文件后缀        $ext = $image->getOriginalExtension();//        上传到七牛后保存的新文件名        $newImageName = $fileName.rand(00000,99999).'.'.$ext;//        初始化UploadManager        $uploadMgr = new UploadManager();        // 调用 UploadManager 的 putFile 方法进行文件的上传。        list($ret, $err) = $uploadMgr->putFile($token,$newImageName,$filePath);        if ($err !== null){            dump($err);            return null;        }else{//            图片上传成功            $dataTpl = [              'fname' => $fileName,                'key' => $ret['key']            ];            Db::name('qiniu')->save($dataTpl);            return '上传成功';        }    }    public function downloadFile()    {        $dataList = Db::name('qiniu')->select()->toArray();        $finalArr = array();        foreach ($dataList as $data)        {            $tpl['name'] = $data['fname'];            $tpl['key'] = $data['key'];            $tpl['url'] = $this->service->getSignedUrl($data['key']);            $finalArr[] = $tpl;        }        View::assign(            ['dataList'=>$finalArr]        );        return view();    }    public function del(Request $request)    {        $key = $request->get('key');        $res = Db::name('qiniu')->where('key',$key)->delete();        if($res)        {            if($this->service->delete($key))            {                return '都删除成功了!';            }else{                return '数据库删除成功了,但是七牛上没删除成功!';            }        }else{            return '删除失败!';        }    }    public function allFile()    {        $this->service->getFileList();    }}
  1. Service代码
namespace app\service;use think\facade\Config;use Qiniu\Auth;use Qiniu\Config as QiniuConfig;use Qiniu\Storage\BucketManager;use const true;class Qiniu{    public function getUpToken()    {        $accessKey = Config::get('qiniu.access_key');        $secreTKEy = Config::get('qiniu.secret_key');        $bucket = Config::get('qiniu.bucket_name');        $auth = new Auth($accessKey, $secretKey);        return $auth->uploadToken($bucket);    }    public function getSignedUrl($key)    {        $accessKey = Config::get('qiniu.access_key');        $secretKey = Config::get('qiniu.secret_key');        $auth = new Auth($accessKey, $secretKey);        $bucket_domain = Config::get('qiniu.bucket_domain');        $baseUrl = $bucket_domain.$key;        return $auth->privateDownloadUrl($baseUrl);    }    public function delete($key)    {        $accessKey = Config::get('qiniu.access_key');        $secretKey = Config::get('qiniu.secret_key');        $bucket = Config::get('qiniu.bucket_name');        $auth = new Auth($accessKey, $secretKey);        $conf = new QiniuConfig();        $bucketManager = new BucketManager($auth,$conf);        $err = $bucketManager->delete($bucket,$key);        if ($err) {            print_r($err);            return 1;        }else{            return 1;        }    }    public function getFileList()    {        $accessKey = Config::get('qiniu.access_key');        $secretKey = Config::get('qiniu.secret_key');        $bucket = Config::get('qiniu.bucket_name');        $auth = new Auth($accessKey, $secretKey);        $bucketManager = new BucketManager($auth);// 要列取文件的公共前缀        $prefix = '';// 上次列举返回的位置标记,作为本次列举的起点信息。        $marker = '';// 本次列举的条目数        $limit = 100;        $delimiter = '/';// 列举文件        list($ret, $err) = $bucketManager->listFiles($bucket, $prefix, $marker, $limit, $delimiter);        if ($err !== null) {            echo "\n====> list file err: \n";            var_dump($err);        } else {            foreach ($ret['items'] as $item)            {                echo "
"
.$item['key']; }// dump($ret['items']);// if (array_key_exists('marker', $ret)) {// echo "Marker:" . $ret["marker"] . "\n";// }// echo "\nList Iterms====>\n"; dump($ret['items']); } }}

来源地址:https://blog.csdn.net/weixin_44981396/article/details/127975921

--结束END--

本文标题: Thinkphp6使用七牛云

本文链接: https://www.lsjlt.com/news/421102.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Thinkphp6使用七牛云
    问题描述:在开发项目的时候,需要用到七牛云用以保存附件 步骤: 下载七牛云所需要的文件 composer require qiniu/php-sdk 在七牛云上注册自己的账号,获取两个密匙AK、SK...
    99+
    2023-09-29
    php 数据库 服务器
  • python-django框架中使用七牛
      1:注册七牛云账号        https://www.qiniu.com/   js文件 链接:https://pan.baidu.com/s/1BW1svHqEsXrrTNtRobKkpg  提取码:ixta   2:进行实名认...
    99+
    2023-01-31
    框架 python django
  • 七牛用在阿里云服务器上的优势
    1. 什么是七牛? 七牛是一家提供对象存储、CDN加速、数据处理等服务的云计算公司。它提供了简单易用的 API,可以帮助开发者快速构建自己的应用。2. 为什么要在阿里云服务器上使用七牛?阿里云服务器是一种高性能、高可靠性的云计算服务,可以为...
    99+
    2024-01-30
    阿里 用在 器上
  • Java实现七牛云文件图片上传下载
    目录一、准备工作1.1.为什么选择七牛云?1.2.七牛云注册二、java操作七牛云对象存储下载2.1.pom.xml引入依赖2.2.上传下载具体代码三、具体业务例子(七牛云做...
    99+
    2024-04-02
  • ThinkPHP6 事件使用
    先吐槽下:TP简直就是个半成品,参考手册真的是只能用于参考,搞不清楚的时候还是直接看源码吧。 事件的本质就是用于代码解耦,简单的理解可以认为是在代码里加的钩子函数。使用起来可以分成两种情况,使用事件类和不使用事件类,推荐使用事件类。 使用...
    99+
    2023-09-12
    php ThinkPHP
  • Java实现上传网络图片到七牛云存储详解
    目录前言效果图代码实现前言 最近阳了,第二条杠红的发紫,真难受啊,但是吧,博客上有个bug,不解决感觉比阳了还难受。 话还是要从博客的图片显示不出来这里说起,当时做的时候,在发文章这...
    99+
    2022-12-30
    Java上传图片到七牛云 Java 上传图片 Java 七牛云
  • Scratch3.0初始化加载七牛云上的sbs文件的方法
    下面通过代码介绍下Scratch3.0初始化加载七牛云上的sbs文件,代码如下所示: 编写组件 import PropTypes from 'prop-types'; impor...
    99+
    2024-04-02
  • 七牛云的python sdk 批量删除资源的操作方法
    今天做项目的时候用到七牛云,关于对资源的操作是在后端做的,用的SDK,但是,在网上没找到详细的解析,官方文档也没有太详细的解说,所以无奈只好看下源码 这里做一下简单的记录 fro...
    99+
    2024-04-02
  • thinkphp6中如何使用workerman
    本文小编为大家详细介绍“thinkphp6中如何使用workerman”,内容详细,步骤清晰,细节处理妥当,希望这篇“thinkphp6中如何使用workerman”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。t...
    99+
    2023-07-04
  • 怎么使用phpstorm调试thinkphp6
    这篇文章主要介绍“怎么使用phpstorm调试thinkphp6”,在日常操作中,相信很多人在怎么使用phpstorm调试thinkphp6问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用phpstor...
    99+
    2023-07-05
  • vue实现大文件分片上传与断点续传到七牛云
    问题: 前段时间做视频上传业务,通过网页上传视频到服务器。 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题: 1、文件过大,超出服务端的请求...
    99+
    2024-04-02
  • 图解Springboot集成七牛云并实现图片上传功能过程
    七牛云的使用 1、进入官网,注册一个账号 2、找到对象存储 3、新建存储空间 4、管理存储空间 5、到此基本操作就完成了,接下来我们要在项目中使用 方式一:官方的帮助文档,很...
    99+
    2024-04-02
  • Thinkphp6中配置并使用redis
    目录 一、安装redis 二、在thinkphp6中配置redis 三、在TP6框架中简单使用redis   四、总结 一、安装redis ThinkPHP内置支持的缓存类型包括file、memcache、wincache、sqlit...
    99+
    2023-09-01
    redis 缓存 数据库 1024程序员节 php
  • thinkphp6如何使用swoole服务
    安装thinkphp6 composer create-project topthink/think=6.0.x-dev tp 安装think-swoole的扩展库 composer require ...
    99+
    2023-09-07
    swoole php websocket
  • thinkphp6多应用模块配置使用
    1.安装thinkphp6 0之前安装都是从Git或者直接下载安装包进行安装,从6.0开始安装方式就改成了composer进行安装了,安装命令如下: 稳定版:composer create-project topthink/think tp...
    99+
    2023-09-05
    thinkphp6
  • thinkphp6中怎么使用jwt认证
    本篇内容主要讲解“thinkphp6中怎么使用jwt认证”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“thinkphp6中怎么使用jwt认证”吧!thinkphp6 使用jwt客户端使用用户名和...
    99+
    2023-07-02
  • thinkphp6使用Apidoc生成接口文档
    下载-配置-使用 下载Apidoc配置apidoc.php文件在控制器里添加注解打开文档 下载Apidoc 进入项目根目录,执行如下命令: composer require hg/ap...
    99+
    2023-10-03
    php 开发语言
  • vue2+wangEditor5富文本编辑器(图片视频自定义上传七牛云/服务器)
    1、安装使用 安装 yarn add @wangeditor/editor# 或者 npm install @wangeditor/editor --saveyarn add @wangeditor/editor-for-vue# 或者 n...
    99+
    2023-09-21
    vue.js javascript 前端
  • 使用AppFuse的七个理由
    1. 快速启动项目:AppFuse提供了一个快速启动项目的框架,可以帮助开发人员更快地启动项目。它提供了一系列的模板和工具,可以快速...
    99+
    2023-09-22
    AppFuse
  • ThinkPHP6中env环境变量的使用方法
    这篇文章给大家分享的是有关ThinkPHP6中env环境变量的使用方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.配置 env默认安装后的根目录有一个.example.env环境变量示例文件,可以直接改成....
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作