php使用oss 上传文件

官网下载sdk 连接
SDK链接地址

        $savename = "a.txt";		//上传后的文件名
        $filePath = "E:/NEWALL/杂项222.txt";		//本地的地址 我这里测试的直接取的固定的
        $config = [
            'accessKey' => 'XXXXXXXXXX',		//AccessKey ID
            'secretKey' => 'XXXXXXXXXXXXXXXXXX',   //AccessKey Secret
            'bucket' => 'XXXXXXXXXXXXXXX',			//bucket 的名字
            'domain' => 'XXXXXXXXXXXXXXXXXXXXXXXX'		//阿里云oss 外网地址endpoint 
        ];


        $accessKeyId = $config['accessKey'];		// Access Key ID
        $accessKeySecret = $config['secretKey'];	// Access Key Secret
        $endpoint = $config['domain'];				// 阿里云oss 外网地址endpoint 点击你的bucket  进来后点击概述 访问域名第一个 Endpoint(地域节点)
        $bucket = $config['bucket'];				// Bucket名称
 
        try {
            $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
            $result = $ossClient->uploadFile($bucket, $savename, $filePath);
        } catch (OssException $e) {
            print_r($e->getMessage() . "\n");
        }

首次添加完 bucket 后需要进行授权才可以 不然会出现
AccessDenied: You have no right to access this object because of bucket acl.
没有权限
https://ram.console.aliyun.com/users
访问这个 找到人员管理 用户
在这里插入图片描述
只能添加五个权限我也不太懂 就添加了前五个 在测试就可以了
随后 封装一下就可以了 我也是刚开始研究

### PHP实现OSS文件上传 为了完成PHP环境下的阿里云OSS文件上传操作,可以采用官方提供的SDK来简化开发流程。下面是一个简单的例子展示如何利用该库执行基本的文件上传任务[^1]。 #### 安装依赖包 首先需要安装`aliyun/oss-sdk-php`这个Composer包作为与OSS交互的基础工具: ```bash composer require aliyuncs/oss-sdk-php ``` #### 初始化客户端并设置参数 创建一个新的实例用于管理请求配置,包括但不限于访问密钥ID、秘密以及目标Bucket名称等必要信息: ```php use Oss\OssClient; use Oss\Core\OssException; try { $accessKeyId = "your-access-key-id"; // 用户AccessKey ID $accessKeySecret = "your-access-key-secret"; // 用户AccessKey Secret $endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; // Endpoint地址 $bucket = 'example-bucket'; // Bucket名 // 创建OSSClient实例。 $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); } catch (OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); printf($e->getMessage() . "\n"); return; } ``` #### 执行文件上传动作 准备好待上传的数据源之后就可以调用相应的方法将其发送给指定位置了,在这里假设有一个名为`test.jpg`的照片要被放置于根目录下: ```php $objectName = 'test.jpg'; $contentType = 'image/jpeg'; // 将本地图片上传OSS上 $fileContent = file_get_contents('/path/to/local/test.jpg'); $result = $ossClient->putObject($bucket, $objectName , $fileContent,['ContentType' => $contentType]); if ($result !== null && is_array($result)) { echo "Upload succeeded."; } else { echo "Failed to upload the object."; } ``` 上述代码片段展示了怎样借助PHP脚本向阿里云的对象存储服务提交多媒体资源,并且指定了MIME类型以便浏览器能正确解析返回的内容[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值