# 又拍云 PHP SDK
[](https://scrutinizer-ci.com/g/upyun/php-sdk/build-status/master) [](https://scrutinizer-ci.com/g/upyun/php-sdk/?branch=master) [](https://scrutinizer-ci.com/g/upyun/php-sdk/?branch=master)
又拍云存储PHP SDK,基于[又拍云存储 HTTP API 接口](http://docs.upyun.com/api/) 开发。SDK 包含了文件上传下载刷新等基本操作,以及图片、视频云处理等功能。
*如果需要测试回调功能,可以通过[又拍云回调服务](https://hooks.upyun.com/)创建一个临时回调地址*
- [更新说明](#update-instructions)
- [使用说明](#use-instructions)
- [安装](#install)
- [使用](#usage)
- [贡献代码](#contribute)
- [社区](#community)
- [许可证](#license)
## 更新说明
#### 3.0.0
- 重写 API 接口,不兼容 2.x 版本
- 集合分块、刷新、视频预处理功能
#### 2.2.0
- 增加 composer 支持,特别感谢 [@totoleo](https://github.com/totoleo) 将 `upyun/sdk` 仓库源修改为 UPYUN 官方项目地址
- 移除不再推荐使用的 API:`rmDir deleteFile readDir getWritedFileInfo`),建议使用推荐方法替代
- note: `2.1.0` 版本之前已经被 [@totoleo](https://github.com/totoleo) 使用
#### 2.0.0
- 使用1.0.x系列版本SDK的用户,注意原有部分方法已经不再推荐使用(`@deprecated`标注),但是出于兼容考虑目前任然保留,建议更新升级程序使用新版SDK提供的方法。
## 使用说明
### 安装
#### PHP >= 5.5
1.使用 `composer` 安装
推荐配置 composer 使用国内全量镜像: https://pkg.phpcomposer.com/ 再安装
```
composer require upyun/sdk
```
2.如果不适应 `composer` 管理,可以直接下载[压缩包](https://github.com/upyun/php-sdk/releases)(注意需要下载 `php-sdk-版本号.zip` 格式的 zip 压缩包,不是 Source code 源码压缩包),解压后,项目中添加如下代码:
```
require_once '/path/to/php-sdk/vendor/autoload.php';
```
### 初始化
```php
require_once('vendor/autoload.php'); // 只针对使用 composer 安装
// require_once '/path/to/php-sdk/vendor/autoload.php'; // 针对压缩包安装
use Upyun\Upyun;
use Upyun\Config;
$serviceConfig = new Config('yourServiceName', 'yourOperatorName', 'yourOperatorPwd');
$client = new Upyun($serviceConfig);
```
详细文档见 [doc.md](doc.md),以下为部分简单示例
#### 字符串写入又拍云服务器
```
$client->write('/save/path', 'file content');
```
#### 文件流写入又拍云服务器
```
$file = fopen('/local/path/file', 'r');
$client->write('/save/path', $file);
```
#### 上传图片并转换格式为 `png`,详见[上传作图](http://docs.upyun.com/cloud/image/#_2)
```
$file = fopen('/local/path/image.jpg', 'r');
$client->write('/save/image.png', $file, array('x-gmkerl-thumb' => '/format/png'));
```
#### 下载文件并保存到本地
```
$saveLocal = fopen('/local/path/image.jpg', 'w');
// 第二个参数不传时,read 方法将直接返回文件内容
$client->read('/remote/server/image.png', $saveLocal);
```
## 贡献代码
1. Fork
2. 为新特性创建一个新的分支
3. 发送一个 pull request 到 master 分支
## 社区
- [问答社区](http://segmentfault.com/upyun)
- [微博](http://weibo.com/upaiyun)
## 许可证
UPYUN PHP-SDK 基于 MIT 开源协议