阿里云oss 简单上传

本文介绍了如何在PHP环境中使用阿里云OSS对象存储服务进行文件上传,包括创建Bucket、获取密钥、安装阿里云PHP SDK,并展示了一个简单的表单上传文件的示例。在遇到SSL证书问题时,提供了下载ca-bundle.crt到PHP的ssl目录,并在php.ini配置curl.cainfo的解决方案,最后通过重启服务器完成配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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文件下

GitHub - bagder/ca-bundle: The Mozilla CA bundle extracted and converted to PEM. This repository functions as a backup to the automated service on the curl web site.b、在php.ini加入

以我的为例,每个人根据自己情况

curl.cainfo="D:\phpstudy_pro\Extensions\php\php7.3.4nts\extras\ssl/ca-bundle.crt"

c、重启服务器

这样 一个简单的阿里云oss上传就完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值