TP5.1上传七牛云空间文件

分类首页日期1年前访问538评论0

1.  TP框架 目录cmd 运行  `

composer require qiniu/php-sdk`

文件自动下载到 tp5.com\vendor\qiniu

2. 封装一个静态方法 用于  七牛云文件上传

public function qiniu($field = 'file', $dirname = ''){
        // 存储空间名称
        $bucket    = 'zmmzexample';
        // 存储空间对应的域名
        $domain = 'cdn.zmmz.com';
        // 用于签名的公钥 AK
        $accessKey = 'M79TrTFb5aiDtf';
        // 用于签名的私钥 SK
        $secretKey = 'Ok1OkWaJjod8e_AYYb';
        $file = request()->file($field);
        if ($file) {
         
            // 临时文件路径
            $tmpName = $file->getRealPath();
            // 初始化鉴权对象
            $auth      = new Auth($accessKey, $secretKey);
            // 生成上传Token
            $token     = $auth->uploadToken($bucket);
            // 上传管理类 构建UplaodManager对象
            $uploadMgr = new UploadManager();
            
 
          
            // 输出 后缀 
            $arr =   $file->getInfo();
            $ext=$arr['name'];
            $temp = pathinfo($ext);
            $ext=$temp['extension'];
            // dump($ext);
            // die();      
 
            // $ext = $file->getOriginalExtension();  TP6 后缀可以换成这个
 
 
            // 目录名
            if ($dirname != '') $dirname .= '/';
            // 随机文件名
            $path = $dirname . md5(microtime(true) . mt_rand(1, 1e9)) . '.' . $ext;
            $info = $uploadMgr->putFile($token, $path, $tmpName);
            // 上传到七牛云后的新名称
            return $domain . '/' . $info[0]['key'];
        } else {
            return '没有文件上传';
        }
    }