tp 七牛云文件上传

1.先创建好七牛云账号和存储空间

  1. 申请七牛云账号;
  2. 创建七牛云存储空间;
  3. 在账号的秘钥管理里面创建秘钥 获取AccessKey / SecretKey;

2.集成PHP-SDK

七牛云开发文档:https://developer.qiniu.com/kodo

(一)Composer 安装 SDK(推荐使用)
进入cmd 终端,切换目录到你部署项目的根目录下,执行以下命令即可:composer require qiniu/php-sdk

(二)传统方式安装
进入七牛云,下载官方 PHP-SDK,将下载下来的SDK解压,放入项目第三库文件(vendor 或者 extend)

3.实战开发

 在之前要引入七牛云

use Qiniu\Auth;
use Qiniu\Storage\UploadManager;

HTML页面代码:

 

 

复制代码
  <form action="http://www.examtest.com/pyg/admin/save" method="post" class="form form-horizontal" id="form-add" enctype="multipart/form-data">

//文件上传
  <div class="row cl">
                    <label class="form-label col-xs-4 col-sm-2"><span class="c-red"></span>logo图片:</label>
                    <div class="formControls col-xs-8 col-sm-9">
                        <div class="uploader-thum-container">
                            <div id="fileList" class="uploader-list"></div>
                            <input type="file" id="goods_logo" name="goods_logo" value="">
                        </div>
                    </div>
                </div>

</form>
复制代码

控制器代码:

复制代码
    public function save(Request $request)
    {
//        七牛云文件上传
//        接受文件值
        $img = $_FILES['goods_logo'];
// 1.截取文件的后缀
        $suffix = substr($img['name'], -4, 4);
//2.获取文件的临时路径
        $tmp_name = $img['tmp_name'];
//3:书写上传文件的新的文件名称(自定义)拼接,截取的后缀;
        $newFilePath = md5($tmp_name) . time() . rand(1, 999) . $suffix;
        print_r($newFilePath);
//4:区七牛云里获取自己的秘钥
        $AccessKey = '7Gu_5HzqSHJB3nLBz51pQN8oJBfqeGwd3kQ-vCNX';
        $SecretKey = 'frzqcOjOhL55eIMXQSLIfO_apMHrs0fr8jjklKDt';
//        5:将获取的的秘钥实例化
        $auth = new Auth($AccessKey, $SecretKey);
//        6:设置将文件上传的空间名称
        $spaceName = 'yanbing123456789';
//7:要上传的空间    生成上传Token
        $token = $auth->uploadToken($spaceName);
//8: 构建 UploadManager 对象
        $uploadMgr = new UploadManager();
//9: 调用 UploadManager 的 putFile 方法进行文件的上传。
        list($ret, $err) = $uploadMgr->putFile($token, $newFilePath, $tmp_name);
//10:进行判断
        if ($err != null) {
            echo '文件上传失败';
            /*  return json([
               'msg' => '上传失败',
               'code' => 201,
               'result' => ''
                     ]);
                      */
        }
//11:空间域名进行拼接新的文件路径 $imageUrl
= 'http://qzevlue2n.hn-bkt.clouddn.com/' . $newFilePath; echo '文件上传成功'; /* return json([ 'msg' => '上传成功', 'code' => 200, 'result' => '' ]); */ }
复制代码

 

 

 

 

 

posted @   王越666  阅读(230)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示