IT技术博客网IT技术博客网IT技术博客网

当前位置: 首页 > php开发

thinkphp页面图片视频文件对接存储到七牛云指定目录

1、准备工作

注册七牛云账号,可以有免费的10G储存空间。

到 个人中心-密钥管理 查看 AccessKey 和 SecretKey。


2、SDK 下载

命令行进入到项目根目录,使用 composer 下载文件。

下载成功会在 vendor 目录下多出一个 qiniu 目录。

composer 下输入下面代码

composer require qiniu/php-sdk

3、控制器代码

<?php
namespace app\index\controller;

vendor('../../../vendor/qiniu/php-sdk/autoload.php');
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;

class Test
{
    private $accessKey =""; // 你的 AccessKey
    private $secretKey = ""; // 你的 SecretKey
    private $bucket = ""; // 你在七牛云创建的空间名称

    // 上传文件到七牛云
    public function uploadToQiniu()
    {
        if (request()->isPost()) {
            $file = $_FILES['file'];
            // 截取后缀名
            $ext = strchr($file['name'], '.');
            // 构建鉴权对象
            $auth = new Auth($this->accessKey, $this->secretKey);
            // 生成上传 Token
            $token = $auth->uploadToken($this->bucket);
            // 要上传文件的本地路径
            $filePath = $file['tmp_name'];
            // 上传到七牛后保存的文件名
            $key = 'myimg/video/'.time().uniqid().$ext;  //这里可以定义上传到七牛的制定目录路径
            // 初始化 UploadManager 对象并进行文件的上传。
            $uploadMgr = new UploadManager();
            // 调用 UploadManager 的 putFile 方法进行文件的上传。
            list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
            if ($err !== null) {
                return $err; // 失败
            } else {
                return $key; // 成功,$key 就是在七牛云的文件名,加上你在七牛云的外链地址就可以访问到文件
            }
        }
        return view();
    }
}



技术QQ交流群:157711366

技术微信:liehuweb

写评论