首先要使用腾讯云cos的前置就是在腾讯云进行一个注册绑定,然后
打开官方文档
找到SDK文档,php专区
在php专区会有快速入门,我这里是通过composer安装的扩展包
-
打开终端。
-
执行以下命令,下载 Composer。
curl -sS https://getcomposer.org/installer | php
-
创建一个名为
composer.json
的文件,内容如下:{"require": {"qcloud/cos-sdk-v5": ">=2.0"}}
-
执行以下命令,使用 Composer 安装。
php composer.phar install
使用该命令后会在当前目录中创建一个 vendor 文件夹,里面包含 SDK 的依赖库和一个 autoload.php 脚本,方便在项目中调用。
调用ThinkPHP6的文件上传
$file = request()->file('image');// 上传到本地服务器$savename = \think\facade\Filesystem::putFile( 'topic', $file);
建立一个配置文件,封装
static function file($savename){//腾讯云cos$secretId = "**********************"; //"云 API 密钥 SecretId";$secretKey = "*****************"; //"云 API 密钥 SecretKey";$region = "ap-shanghai"; //设置一个默认的存储桶地域$cosClient = new Client(array('region' => $region,'schema' => 'http', //协议头部,默认为http'credentials' => array('secretId' => $secretId,'secretKey' => $secretKey)));//设置一个对象键(尽量不包含特殊符号)$keyv = rand(0,99999999);# 上传文件### 上传文件流try {$bucket = "******-**********"; //存储桶名称 格式:BucketName-APPID$key = $keyv; //此处的 key 为对象键,对象键是对象在存储桶中的唯一标识$srcPath = "./uploads/".$savename;//本地文件绝对路径$file = fopen($srcPath,'rb');if ($file) {$cosClient->Upload($bucket = $bucket,$key = $key,$body = $file);}} catch (\Exception $e) {echo "$e\n";}//拼接存储路径$path = /*腾讯云网址*/'.'上方对象名'.'//*设定格式名*/';return $path;}}