首先是购买oss服务
获得参数
$config = [
'OSS_ACCESS_ID' => '',
'OSS_ACCESS_KEY' => '',
'OSS_ENDPOINT' => '',
'OSS_TEST_BUCKET' => ''
];
这里可以获得前两个参数,
接下来创建bucket
bucket名称自定义,填入第三个参数,endpoint也得到了,四个参数集齐,
顺便说一下bucket权限俺需要进行修改,其他默认
在写代码之前要引入oss
代码部分如下
try {
$config = [
'OSS_ACCESS_ID' => '',
'OSS_ACCESS_KEY' => '',
'OSS_ENDPOINT' => '',
'OSS_TEST_BUCKET' => ''
];
//获取Oss的配置
//实例化对象 将配置传入
$ossClient = new OssClient($config['OSS_ACCESS_ID'], $config['OSS_ACCESS_KEY'], $config['OSS_ENDPOINT']);
//这里是有sha1加密 生成文件名 之后连接上后缀
$fileName = sha1(date('YmdHis', time()) . uniqid()) . '.' . explode('.',$cover)[1];
//执行阿里云上传
$result = $ossClient->uploadFile($config['OSS_TEST_BUCKET'], 'face/'.$fileName, ROOT_PATH.$cover);
//这个只是为了展示
//可以删除或者保留下做后面的操作
$arr = [
'url' => $result['info']['url'],
'filename' => $fileName
];
unset($info);//先释放变量,否则删除会出错
unlink(ROOT_PATH.$cover);
} catch (OssException $e) {
return $e->getMessage();
}
说明一下
$result = $ossClient->uploadFile($config['OSS_TEST_BUCKET'], 'face/'.$fileName, ROOT_PATH.$cover);
这句代码中的第二个参数是 oss存放文件夹+文件名
第三个参数是文件源的路径