Skip to content

aliyun/alibabacloud-oss-php-sdk-v2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

819d507 · Mar 27, 2025

History

30 Commits
Feb 27, 2025
Mar 18, 2025
Mar 18, 2025
Jan 3, 2025
Mar 18, 2025
Mar 27, 2025
Mar 19, 2025
Jan 3, 2025
Mar 19, 2025
Mar 19, 2025
Jan 3, 2025
Feb 27, 2025
Jan 3, 2025
Jan 3, 2025

Repository files navigation

Alibaba Cloud OSS SDK for PHP v2

GitHub version

alibabacloud-oss-php-sdk-v2 is the Developer Preview for the v2 of the OSS SDK for the PHP programming language

About

  • This PHP SDK is based on the official APIs of Alibaba Cloud OSS.
  • Alibaba Cloud Object Storage Service (OSS) is a cloud storage service provided by Alibaba Cloud, featuring massive capacity, security, a low cost, and high reliability.
  • The OSS can store any type of files and therefore applies to various websites, development enterprises and developers.
  • With this SDK, you can upload, download and manage data on any app anytime and anywhere conveniently.

Running Environment

  • PHP 7.4 or above.

Installing

Install the sdk through composer

If you use the composer to manage project dependencies, run the following command in your project's root directory:

$ composer require alibabacloud/oss-v2

You can also declare the dependency on Alibaba Cloud OSS SDK for PHP v2 in the composer.json file.

"require": {
    "alibabacloud/oss-v2": "*"
}

Install from the PHAR File directly

$ require_once '/path/to/alibabacloud-oss-php-sdk-v2-{version}.phar'

Getting Started

List Bucket

<?php

use AlibabaCloud\Oss\V2 as Oss;

$region = 'cn-hangzhou';

// Loading credentials values from the environment variables
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();

// Using the SDK's default configuration
$cfg = Oss\Config::loadDefault();
$cfg->setCredentialsProvider($credentialsProvider);
$cfg->setRegion($region);

$client = new Oss\Client($cfg);

// Create the Paginator for the ListBuckets operation
$paginator = new Oss\Paginator\ListBucketsPaginator($client);
$iter = $paginator->iterPage(new Oss\Models\ListBucketsRequest());

// Iterate through the bucket pages
foreach ($iter as $page) {
    foreach ($page->buckets ?? [] as $bucket) {
        print("Bucket: $bucket->name, $bucket->location\n");
    }
}

List Objects

<?php

use AlibabaCloud\Oss\V2 as Oss;

$region = 'cn-hangzhou';
$bucket = 'your bucket name';

// Loading credentials values from the environment variables
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();

// Using the SDK's default configuration
$cfg = Oss\Config::loadDefault();
$cfg->setCredentialsProvider($credentialsProvider);
$cfg->setRegion($region);

$client = new Oss\Client($cfg);

# Create the Paginator for the ListBuckets operation
$paginator = new Oss\Paginator\ListObjectsV2Paginator($client);
$iter = $paginator->iterPage(new Oss\Models\ListObjectsV2Request($bucket));

// Iterate through the object pages
foreach ($iter as $page) {
    foreach ($page->contents ?? [] as $object) {
        print("Object: $object->key, $object->type, $object->size\n");
    }
}

Put Object

<?php

use AlibabaCloud\Oss\V2 as Oss;

$region = 'cn-hangzhou';
$bucket = 'your bucket name';
$key = 'your object name';

// Loading credentials values from the environment variables
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();

// Using the SDK's default configuration
$cfg = Oss\Config::loadDefault();
$cfg->setCredentialsProvider($credentialsProvider);
$cfg->setRegion($region);

$client = new Oss\Client($cfg);

$data = 'Hello OSS';

$request = new Oss\Models\PutObjectRequest($bucket, $key);
$request->body = Oss\Utils::streamFor($data);

$result = $client->putObject($request);

printf(
    'status code:'. $result->statusCode .PHP_EOL.
    'request id:'. $result->requestId .PHP_EOL.
    'etag:'. $result->etag. PHP_EOL
);

Complete Example

More example projects can be found in the sample folder

Running Example

  • Run composer install to download the dependent libraries.
  • Go to the sample code folder sample
  • Configure credentials values from the environment variables, like export OSS_ACCESS_KEY_ID="your access key id", export OSS_ACCESS_KEY_SECRET="your access key secrect"
  • Take ListBuckets.php as an example,run php ListBuckets.php --region cn-hangzhou command。

Resources

Developer Guide - Use this document to learn how to get started and use this sdk.

License