https://github.com/aliyun/openapi-sdk-php
目前只用过oss,用的sdk是aliyuncs/oss-sdk-php,不知道新的sdk该如何写?
有示例代码吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云提供了多种服务的SDK,以方便开发者在不同语言环境下调用阿里云服务。您提到的aliyuncs/oss-sdk-php是针对对象存储服务OSS的老版本SDK。目前,阿里云推荐使用更新的、遵循统一命名规范和结构的SDK,即aliyun-openapi-php-sdk。
对于PHP语言环境,您可以按照以下步骤来使用新的阿里云SDK访问OSS服务或其他服务:
安装新SDK:首先,通过Composer安装最新的阿里云PHP SDK。在您的项目根目录下运行以下命令:
composer require aliyuncs/aliyun-openapi-php-sdk
配置AccessKey和Endpoint:在使用SDK之前,需要设置您的阿里云账号AccessKey ID和AccessKey Secret,以及对应服务的Endpoint。这通常在初始化客户端时完成。
示例代码:下面是一个使用新SDK上传文件到OSS的基本示例。假设您已经安装了新SDK并配置好了相关参数。
<?php
require_once 'vendor/autoload.php'; // 引入composer自动加载
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\OSS\OSS;
// 初始化客户端
AlibabaCloud::accessKeyClient('<your-access-key-id>', '<your-access-key-secret>')
->regionId('cn-hangzhou') // 根据实际Bucket所在区域替换
->asDefaultClient();
try {
// 创建OSS客户端实例
$oss = new OSS(new \AlibabaCloud\OSS\OssClient());
// 上传文件到OSS
$result = $oss->putObject(
'<your-bucket-name>', // 您的Bucket名称
'example-object.txt', // 上传后的文件名
__DIR__ . '/local-file.txt' // 本地文件路径
);
echo "Upload success: ", $result->getETag(), "\n";
} catch (ClientException $e) {
echo "Upload failed: ", $e->getMessage(), "\n";
} catch (ServerException $e) {
echo "Upload failed: ", $e->getMessage(), "\n";
}
请确保将<your-access-key-id>、<your-access-key-secret>、<your-bucket-name>以及本地文件路径替换为实际值。此外,根据您的Bucket所在的地域,可能需要调整regionId的值。
更多关于阿里云PHP SDK的使用方法和示例,可以参考阿里云官方文档或直接查看GitHub上的aliyun-openapi-sdk-php仓库,其中包含了详细的API说明和示例代码。