1、创建Bucket "桶名"
2、获取密钥
3、 在框架中引用阿里云插件 PHP - 对象存储 OSS - 阿里云
composer require aliyuncs/oss-sdk-php
举个简单例子:
创建一个简单表单
<form action="{{route('ali.oss')}}" method="post" enctype="multipart/form-data">
@csrf
文件:
<input type="file" name="image">
<br>
<button type="submit">提交</button>
</form>
方法
use OSS\OssClient;
use OSS\Core\OssException;
public function alioss(Request $request){
#获取上传文件本机信息
$image=$_FILES;
#当前文件路径
$imagePath=$image['image']['tmp_name'];
#当前名
$imageName=$image['image']['name'];
#取后缀
$suffix=pathinfo($imageName)['extension'];
#重命名
$newImage=md5(rand(1111,99999).uniqid()).'.'.$suffix;
#阿里云上传
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
$accessKeyId = "";
$accessKeySecret = "";
// yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// 填写Bucket名称,例如examplebucket。
$bucket= "桶名";
try{
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$ossClient->uploadFile($bucket, $newImage, $imagePath);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
echo "上传成功";
}
这个时候一定要运行一下!!!!!!
回报一个类似于这个的错误 找不到证书
curl: (60) SSL certificate problem: unable to get local issuer certificate 错误
那么不要急不要慌 !!!! 解决方案如下:
a、在下面链接下在下载一个ca-bundle.crt 放到php 文件 ssl文件下
以我的为例,每个人根据自己情况
curl.cainfo="D:\phpstudy_pro\Extensions\php\php7.3.4nts\extras\ssl/ca-bundle.crt"
c、重启服务器
这样 一个简单的阿里云oss上传就完成了