$accessKeyId = "ID";
$accessKeySecret = "秘钥";
$endpoint = "节点";
$bucket = '存储空间名';
第一二个参数在阿里云用户AccessKey 管理里面获取
第三四个参数在阿里云OSS列表管理里面获取
需要注意该对象存储读写权限要设置为公开的,私有的外网无法访问
使用composer 安装阿里云OSS扩展:
composer require aliyuncs/oss-sdk-php
阿里云上传文件服务类
appcommonserviceAliyunOss.php
<?php
/**
* Created by PhpStorm.
* User: Pasa吴
* Date: 2020/4/29
* Time: 15:28
*/
namespace app\common\service;
use OSS\Core\OssException;
use OSS\OssClient;
class AliyunOss
{
//ID
protected $accessKeyId;
//秘钥
protected $accessKeySecret;
//节点
protected $endpoint;
//存储空间名
protected $bucket;
public function __construct(array $config)
{
$this->accessKeyId = $config['accessKeyId'];
$this->accessKeySecret = $config['accessKeySecret'];
$this->endpoint = $config['endpoint'];
$this->bucket = $config['bucket'];
}
function upload($dst, $src)
{
//获取对象
$auth = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
try {
//上传图片
$result = $auth->uploadFile($this->bucket, $dst, $src);
return $result['info']['url'];
} catch (OssException $e) {
return $e->getMessage();
}
}
}
调用方法
public function uploadFileForm()
{
$scr = $_FILES['file']['tmp_name'];
$ext = substr($_FILES['file']['name'], strrpos($_FILES['file']['name'], '.') + 1); // 上传文件后缀
$dst = md5(time()) . '-' . $scr . '.' . $ext; //上传文件名称
$alioss = new AliyunOssService([
'accessKeyId' => 'xxx',//修改为你对应参数
'accessKeySecret' => 'xxx',//修改为你对应参数
'endpoint' => 'xxx',//修改为你对应参数
'bucket' => 'xxx',//修改为你对应参数
]);
$this->res['url'] = $alioss->upload($dst, $scr);
if ($this->res) {
$this->show([SUCCESS, MES_SUCCESS, $this->res]);
}
$this->show([FAILED, MES_FAILED, $this->res]);
}
本文为Pasa吴原创文章,转载无需和我联系,但请注明来自Pasa吴博客https://www.pasawu.top
最新评论