首先要使用腾讯云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;
}
}
|