aliyuncs/oss-sdk-php
Composer 安装命令:
composer require aliyuncs/oss-sdk-php
包简介
Aliyun OSS SDK for PHP
README 文档
README
README of Chinese
About OSS SDK for PHP V2
- OSS SDK for PHP V2(alibabacloud-oss-php-sdk-v2) beta version has been released, it is a major rewrite of OSS SDK for PHP V1 (aliyun-oss-php-sdk).
- V2 simplifies underlying operations such as identification authentication, automatic retry of failed requests, and error handling. It provides flexible parameter configuration methods and rich advanced operations, such as paginator, transmission managers. This comprehensively improves development efficiency and experience.
Overview
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.
Run environment
- PHP 5.3+.
- cURL extension.
Tips:
- In Ubuntu, you can use the apt-get package manager to install the PHP cURL extension:
sudo apt-get install php5-curl.
Install OSS PHP SDK
-
If you use the composer to manage project dependencies, run the following command in your project's root directory:
composer require aliyuncs/oss-sdk-phpYou can also declare the dependency on Alibaba Cloud OSS SDK for PHP in the
composer.jsonfile."require": { "aliyuncs/oss-sdk-php": "~2.0" }Then run
composer installto 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.phpfile under the SDK directory to your code:require_once '/path/to/oss-sdk/autoload.php';
Quick use
Common classes
| 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. |
Initialize an 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(); }
Operations on objects
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(); }
Operations on buckets
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(); }
Handle returned results
The OssClient provides the following two types of returned data from interfaces:
-
Put and Delete interfaces: The PUT and DELETE operations are deemed successful if null is returned by the interfaces without OSSException.
-
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.
Run a sample project
- Modify
samples/Config.phpto complete the configuration information. - Run
cd samples/ && php RunAll.php.
Run a unit test
-
Run
composer installto 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
License
- MIT
Contact us
- Alibaba Cloud OSS official website.
- Alibaba Cloud OSS official forum.
- Alibaba Cloud OSS official documentation center.
- Alibaba Cloud official technical support: Submit a ticket.
aliyuncs/oss-sdk-php 适用场景与选型建议
aliyuncs/oss-sdk-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 6.5M 次下载、GitHub Stars 达 1.01k, 最近一次更新时间为 2015 年 11 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 aliyuncs/oss-sdk-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 aliyuncs/oss-sdk-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 6.5M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1074
- 点击次数: 19
- 依赖项目数: 525
- 推荐数: 11
其他信息
- 授权协议: MIT
- 更新时间: 2015-11-27