<?php namespace Admin\Controller; use Think\Controller; class CosController extends Controller { public function cosupload($src,$dst,$d=1){ Vendor('COS5.vendor.autoload'); $schema=C("cos_storage.schema")?:"https"; $secretId = C("cos_storage.SecretId"); //"云 API 密钥 SecretId"; $secretKey = C("cos_storage.SecretKey"); //"云 API 密钥 SecretKey"; $region = C("cos_storage.domain"); //设置一个默认的存储桶地域 $cosClient = new \Qcloud\Cos\Client( array( 'region' => $region, 'schema' => $schema, //协议头部,默认为http 'credentials'=> array( 'secretId' => $secretId , 'secretKey' => $secretKey ) ) ); $bucket = C("cos_storage.bucket"); //存储桶名称 格式:BucketName-APPID $key = $dst; $srcPath = $src;//本地文件绝对路径 try { $result = $cosClient->Upload( $bucket = $bucket, $key = $key, $body = fopen($srcPath, 'rb') ); $location = $result['Location']; if(!preg_match('/^(http)|(https)/', $location)) { $result['Location'] = 'https://' . $result['Location']; } return $result['Location']; } catch (\Exception $e) { $this->error($e->getMessage()); } } }