sunhao fe08a6fbcc 初始 | 5 年之前 | |
---|---|---|
.. | ||
samples | 5 年之前 | |
src | 5 年之前 | |
tests | 5 年之前 | |
.coveralls.yml | 5 年之前 | |
.gitignore | 5 年之前 | |
.travis.yml | 5 年之前 | |
CHANGELOG.md | 5 年之前 | |
LICENSE.md | 5 年之前 | |
README-CN.md | 5 年之前 | |
README.md | 5 年之前 | |
autoload.php | 5 年之前 | |
build-phar.sh | 5 年之前 | |
composer.json | 5 年之前 | |
example.jpg | 5 年之前 | |
index.php | 5 年之前 | |
phpunit.xml | 5 年之前 |
# Alibaba Cloud OSS SDK for PHP
Alibaba Cloud Object Storage Service (OSS) is a cloud storage service provided by Alibaba Cloud, featuring a massive capacity, security, a low cost, and high reliability. You can upload and download data on any application anytime and anywhere by calling APIs, and perform simple management of data through the web console. The OSS can store any type of files and therefore applies to various websites, development enterprises and developers.
Tips:
sudo apt-get install php5-curl
.If you use the composer to manage project dependencies, run the following command in your project's root directory:
composer require aliyuncs/oss-sdk-php
You can also declare the dependency on Alibaba Cloud OSS SDK for PHP in the composer.json
file.
"require": {
"aliyuncs/oss-sdk-php": "~2.0"
}
Then run composer install
to install the dependency. After the Composer Dependency Manager is installed, import the dependency in your PHP code:
require_once __DIR__ . '/vendor/autoload.php';
You can also directly download the packaged PHAR File, and introduce the file to your code:
require_once '/path/to/oss-sdk-php.phar';
Download the SDK source code, and introduce the autoload.php
file under the SDK directory to your code:
require_once '/path/to/oss-sdk/autoload.php';
Class | Explanation |
---|---|
OSS\OSSClient | OSS client class. An OSSClient instance can be used to call the interface. |
OSS\Core\OSSException | OSS Exception class . You only need to pay attention to this exception when you use the OSSClient. |
The SDK's operations for the OSS are performed through the OSSClient class. The code below creates an OSSClient object:
<?php
$accessKeyId = "<AccessKeyID that you obtain from OSS>";
$accessKeySecret = "<AccessKeySecret that you obtain from OSS>";
$endpoint = "<Domain that you select to access an OSS data center, such as "oss-cn-hangzhou.aliyuncs.com>";
try {
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
} catch (OssException $e) {
print $e->getMessage();
}
Objects are the most basic data units on the OSS. You can simply consider objects as files. The following code uploads an object:
<?php
$bucket= "<Name of the bucket in use. Pay attention to naming conventions>";
$object = "<Name of the object in use. Pay attention to naming conventions>";
$content = "Hello, OSS!"; // Content of the uploaded file
try {
$ossClient->putObject($bucket, $object, $content);
} catch (OssException $e) {
print $e->getMessage();
}
Buckets are the space that you use to manage the stored objects. It is an object management unit for users. Each object must belong to a bucket. You can create a bucket with the following code:
<?php
$bucket= "<Name of the bucket in use. Pay attention to naming conventions>";
try {
$ossClient->createBucket($bucket);
} catch (OssException $e) {
print $e->getMessage();
}
The OSSClient provides the following two types of returned data from interfaces:
Get and List interfaces: The GET and LIST operations are deemed successful if the desired data is returned by the interfaces without OSSException. For example,
<?php
$bucketListInfo = $ossClient->listBuckets();
$bucketList = $bucketListInfo->getBucketList();
foreach($bucketList as $bucket) {
print($bucket->getLocation() . "\t" . $bucket->getName() . "\t" . $bucket->getCreatedate() . "\n");
}
In the above code, $bucketListInfo falls into the 'OSS\Model\BucketListInfo' data type.
samples/Config.php
to complete the configuration information.cd samples/ && php RunAll.php
.composer install
to download the dependent libraries.Set the environment variable.
export OSS_ACCESS_KEY_ID=access-key-id
export OSS_ACCESS_KEY_SECRET=access-key-secret
export OSS_ENDPOINT=endpoint
export OSS_BUCKET=bucket-name
Run php vendor/bin/phpunit