---
title: PHP SDK
---
# PHP SDK 使用指南
此 SDK 适用于 PHP 5.1.0 及其以上版本。基于 [七牛云存储官方API](http://docs.qiniu.com) 构建。使用此 SDK 构建您的网络应用程序,能让您以非常便捷地方式将数据安全地存储到七牛云存储上。无论您的网络应用是一个网站程序,还是包括从云端(服务端程序)到终端(手持设备应用)的架构的服务或应用,通过七牛云存储及其 SDK,都能让您应用程序的终端用户高速上传和下载,同时也让您的服务端更加轻盈。
SDK源码地址:<https://github.com/qiniu/php-sdk/tags>
- [应用接入](#install)
- [获取Access Key 和 Secret Key](#acc-appkey)
- [资源管理接口](#rs-api)
- [1 查看单个文件属性信息](#rs-stat)
- [2 复制单个文件](#rs-copy)
- [3 移动单个文件](#rs-move)
- [4 删除单个文件](#rs-delete)
- [5 批量操作](#batch)
- [5.1 批量获取文件信息](#batch_stat)
- [5.2 批量复制文件](#batch_copy)
- [5.3 批量删除文件](#batch_delete)
- [5.4 批量移动文件](#batch_move)
- [上传下载接口](#get-and-put-api)
- [1 文件上传](#upload)
- [1.1 上传流程](#io-put-flow)
- [1.2 上传策略](#io-put-policy)
- [1.3 断点续上传](#rio-putfile)
- [2 文件下载](#io-download)
- [2.1 公有资源下载](#public-download)
- [2.2 私有资源下载](#private-download)
- [数据处理接口](#fop-api)
- [1 图像](#fop-image)
- [1.1 查看图像属性](#fop-image-info)
- [1.2 查看图片EXIF信息](#fop-exif)
- [1.3 生成图片预览](#fop-image-view)
- [贡献代码](#contribution)
- [许可证](#license)
<a name=install></a>
## 应用接入
<a name="acc-appkey"></a>
### 1. 获取Access Key 和 Secret Key
要接入七牛云存储,您需要拥有一对有效的 Access Key 和 Secret Key 用来进行签名认证。可以通过如下步骤获得:
1. [开通七牛开发者帐号](https://portal.qiniu.com/signup)
2. [登录七牛开发者自助平台,查看 Access Key 和 Secret Key](https://portal.qiniu.com/setting/key) 。
<a name=rs-api></a>
## 资源管理接口
<a name="rs-stat"></a>
### 1.查看单个文件属性信息
示例代码如下:
```php
require_once('qiniu/rs.php');
$bucket = 'phpsdk';
$key1 = 'file_name_1';
$accessKey = '<YOUR_ACCESS_KEY>';
$secretKey = '<YOUR_SECRET_KEY>';
Qiniu_setKeys($accessKey, $secretKey);
$client = new Qiniu_MacHttpClient(null);
list($ret, $err) = Qiniu_RS_Stat($client, $bucket, $key1);
echo "\n\n====> Qiniu_RS_Stat result: \n";
if ($err !== null) {
var_dump($err);
} else {
var_dump($ret);
}
```
<a name="rs-copy"></a>
### 2. 复制单个文件
示例代码如下:
```php
require_once('qiniu/rs.php');
$bucket = 'phpsdk';
$key1 = 'file_name_1';
$key2 = 'file_name_2';
$accessKey = '<YOUR_ACCESS_KEY>';
$secretKey = '<YOUR_SECRET_KEY>';
Qiniu_setKeys($accessKey, $secretKey);
$client = new Qiniu_MacHttpClient(null);
$err = Qiniu_RS_Copy($client, $bucket, $key1, $bucket, $key2);
echo "\n\n====> Qiniu_RS_Copy result: \n";
if ($err !== null) {
var_dump($err);
} else {
echo "Success! \n";
}
```
<a name=rs-move></a>
### 3. 移动单个文件
示例代码如下:
```php
require_once('qiniu/rs.php');
$bucket = 'phpsdk';
$key1 = 'file_name_1';
$key2 = 'file_name_2';
$accessKey = '<YOUR_ACCESS_KEY>';
$secretKey = '<YOUR_SECRET_KEY>';
Qiniu_setKeys($accessKey, $secretKey);
$client = new Qiniu_MacHttpClient(null);
$err = Qiniu_RS_Move($client, $bucket, $key2, $bucket, $key1);
echo "\n\n====> Qiniu_RS_Move result: \n";
if ($err !== null) {
var_dump($err);
} else {
echo "Success! \n";
}
```
<a name=rs-delete></a>
### 4. 删除单个文件
示例代码如下:
```php
require_once('qiniu/rs.php');
$bucket = 'phpsdk';
$key1 = 'file_name_1';
$accessKey = '<YOUR_ACCESS_KEY>';
$secretKey = '<YOUR_SECRET_KEY>';
Qiniu_setKeys($accessKey, $secretKey);
$client = new Qiniu_MacHttpClient(null);
$err = Qiniu_RS_Delete($client, $bucket, $key1);
echo "\n\n====> Qiniu_RS_Delete result: \n";
if ($err !== null) {
var_dump($err);
} else {
echo "Success! \n";
}
```
<a name=batch></a>
### 5.批量操作
当您需要一次性进行多个操作时,可以使用批量操作。
<a name=batch_stat></a>
#### 5.1 批量获取文件属性信息
示例代码如下:
```php
require_once('qiniu/rs.php');
$bucket = 'phpsdk';
$key1 = 'file_name_1';
$key2 = 'file_name_2';
$accessKey = '<YOUR_ACCESS_KEY>';
$secretKey = '<YOUR_SECRET_KEY>';
Qiniu_setKeys($accessKey, $secretKey);
$e1 = new Qiniu_RS_EntryPath($bucket, $key1);
$e2 = new Qiniu_RS_EntryPath($bucket, $key2);
$client = new Qiniu_MacHttpClient(null);
$entries = array($e1, $e2);
list($ret, $err) = Qiniu_RS_BatchStat($client, $entries);
echo "\n\n====> Qiniu_RS_BatchStat result: \n";
if ($err !== null) {
var_dump($err);
} else {
var_dump($ret);
}
```
<a name=batch_copy></a>
#### 5.2 批量复制文件
示例代码如下:
```php
require_once('qiniu/rs.php');
$bucket = 'phpsdk';
$key1 = 'file_name_1';
$key2 = 'file_name_2';
$accessKey = '<YOUR_ACCESS_KEY>';
$secretKey = '<YOUR_SECRET_KEY>';
Qiniu_setKeys($accessKey, $secretKey);
$e1 = new Qiniu_RS_EntryPath($bucket, $key1);
$e2 = new Qiniu_RS_EntryPath($bucket, $key2);
$key3 = $key1 . '3';
$e3 = new Qiniu_RS_EntryPath($bucket, $key3);
$client = new Qiniu_MacHttpClient(null);
$entryPairs = array(new Qiniu_RS_EntryPathPair($e1, $e2), new Qiniu_RS_EntryPathPair($e1, $e3));
list($ret, $err) = Qiniu_RS_BatchCopy($client, $entryPairs);
echo "\n\n====> Qiniu_RS_BatchCopy result: \n";
if ($err !== null) {
var_dump($err);
} else {
var_dump($ret);
}
```
<a name=batch_delete></a>
#### 5.3 批量删除文件
示例代码如下:
```php
require_once('qiniu/rs.php');
$bucket = 'phpsdk';
$key1 = 'file_name_1';
$key2 = 'file_name_2';
$accessKey = '<YOUR_ACCESS_KEY>';
$secretKey = '<YOUR_SECRET_KEY>';
Qiniu_setKeys($accessKey, $secretKey);
$e1 = new Qiniu_RS_EntryPath($bucket, $key1);
$e2 = new Qiniu_RS_EntryPath($bucket, $key2);
$client = new Qiniu_MacHttpClient(null);
$entries = array($e1, $e2);
list($ret, $err) = Qiniu_RS_BatchDelete($client, $entries);
echo "\n\n====> Qiniu_RS_BatchDelete result: \n";
if ($err !== null) {
var_dump($err);
} else {
var_dump($ret);
}
```
<a name=batch_move></a>
#### 5.4 批量移动文件
示例代码如下:
```php
require_once('qiniu/rs.php');
$bucket = 'phpsdk';
$key1 = 'file_name_1';
$accessKey = '<YOUR_ACCESS_KEY>';
$secretKey = '<YOUR_SECRET_KEY>';
Qiniu_setKeys($accessKey, $secretKey);
$e1 = new Qiniu_RS_EntryPath($bucket, $key1);
$key3 = $key1 . '3';
$e3 = new Qiniu_RS_EntryPath($bucket, $key3);
$client = new Qiniu_MacHttpClient(null);
$entryPairs = array(new Qiniu_RS_EntryPathPair($e3, $e1));
list($ret, $err) = Qiniu_RS_BatchMove($client, $entryPairs);
echo "\n\n====> Qiniu_RS_BatchMove result: \n";
if ($err !== null) {
var_dump($err);
} else {
var_dump($ret);
}
```
<a name="get-and-put-api"></a>
## 上传下载接口
<a name=upload></a>
### 1. 文件上传
为了尽可能地改善终端用户的上传体验,七牛云存储首创了客户端直传功能。一般云存储的上传流程是:
客户端(终端用户) => 业务服务器 => 云存储服务
这样多了一次上传的流程,和本地存储相比,会相对慢一些。但七牛引入了客户端直传,将整个上传过程调整为:
客户端(终端用户) => 七牛 => 业务服务器
客户端(终端用户)直接上传到七牛的服务器,通过DNS智能解析,七牛会选择到离终端用户最近的ISP服务商节点,速度会比本地存储快很多。文件上传成功以后,七牛的服务器使用回调功能,只需要将非常少的数据(比如Key)传给应用服务器,应用服务器进行保存即可。
<a name="io-put-flow"></a>
#### 1.1上传流程
在七牛云存储中,整个上传流程大体分为这样几步:
1. 业务服务器颁发 [uptoken(上传授权凭证)](
没有合适的资源?快使用搜索试试~ 我知道了~
dtxyo2o_A5.zip_o2o_学校 php_得推_得推校园O2O系统_校园
共2000个文件
php:988个
html:743个
png:515个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 86 浏览量
2022-09-23
18:32:27
上传
评论
收藏 15.45MB ZIP 举报
温馨提示
得推校园O2O系统是一个以php+MySQL进行开发的主要针对校园市场开发的O2O系统。 主要功能模块: 1.夜猫店:校园每栋楼可以开设一个夜猫店 2.校园超市:每个学校拥有一个校园超市 3.学生街:校园商家 4.创业项目:学生创业项目展示及交流合作 5.产品库存:针对夜猫店和超市供货 6.微信公众号绑定 7.支持微信支付和支付宝 8.商家特卖频道 9.商家优惠券
资源推荐
资源详情
资源评论
收起资源包目录
dtxyo2o_A5.zip_o2o_学校 php_得推_得推校园O2O系统_校园 (2000个子文件)
Global.asax 2KB
Global.vb.asax 2KB
Global.asax 2KB
Global.cs.asax 2KB
Default.aspx 3KB
Default.aspx 3KB
Login.aspx 1KB
upload.aspx 499B
upload.aspx 499B
ShowThumbnail.aspx 106B
thumbnail.aspx 98B
WdatePicker.js.bak 9KB
ClientResponseHandler.class.php.bak 5KB
TenpayHttpClient.class.php.bak 4KB
RequestHandler.class.php.bak 3KB
ResponseHandler.class.php.bak 3KB
model.php.bak 1KB
function.php.bak 270B
merge.bat 22B
CHANGELOG 1KB
httpdns.conf 0B
Web.Config 810B
Web.Config 698B
web.config 651B
Web.Config 397B
web.config 265B
upload.aspx.cs 4KB
thumbnail.aspx.cs 1KB
Thumbnail.cs 732B
Default.aspx.cs 455B
test.aspx.cs 402B
animate.css 73KB
style.css 73KB
ueditor.css 45KB
ueditor.min.css 34KB
skyweb.css 32KB
skyweb.css 30KB
video-js.css 22KB
demo.css 19KB
admin.css 19KB
image.css 19KB
umeditor.css 18KB
video.css 15KB
attachment.css 15KB
app.css 14KB
umeditor.min.css 14KB
video-js.min.css 11KB
colpick.css 9KB
base.css 9KB
normalize.css 8KB
shCoreDefault.css 7KB
flexslider.css 7KB
demo.css 6KB
default.css 6KB
default.css 6KB
module.css 6KB
datepicker.css 5KB
datepicker.css 5KB
webuploader.css 4KB
css.css 4KB
app.css 4KB
datepicker.css 4KB
iconfont.css 4KB
scrawl.css 4KB
datepicker.css 4KB
featuresdemo.css 4KB
sidemenu.css 3KB
iscroll.css 3KB
codemirror.css 3KB
image.css 3KB
charts.css 3KB
video.css 3KB
background.css 2KB
emotion.css 2KB
emotion.css 2KB
dialogbase.css 2KB
skywap.css 2KB
skywap.css 2KB
music.css 2KB
swipe.css 2KB
admin.css 1KB
jquery.slides.css 1KB
edittable.css 1KB
template.css 1KB
goldgoods.css 957B
formula.css 869B
webuploader.css 543B
help.css 395B
rating.css 196B
WdatePicker.css 158B
WdatePicker.css 158B
iframe.css 42B
mask_177_6.dat 441B
mask_173_6.dat 429B
mask_177_7.dat 407B
frame_40.dat 406B
mask_173_7.dat 405B
frame_39.dat 404B
mask_165_6.dat 400B
mask_161_6.dat 399B
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
邓凌佳
- 粉丝: 79
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- LABVIEW程序实例-图片.zip
- LABVIEW程序实例-文件操作.zip
- LABVIEW程序实例-文件操作.zip
- LABVIEW程序实例-图形游标属性.zip
- LABVIEW程序实例-图形游标属性.zip
- LABVIEW程序实例-位置属性控制.zip
- LABVIEW程序实例-位置属性控制.zip
- LABVIEW程序实例-向EXCEL写数据.zip
- LABVIEW程序实例-向EXCEL写数据.zip
- LABVIEW程序实例-循环的数据输入输出.zip
- LABVIEW程序实例-循环的数据输入输出.zip
- LABVIEW程序实例-修改对象.zip
- LABVIEW程序实例-修改对象.zip
- LABVIEW程序实例-液位控制.zip
- LABVIEW程序实例-液位控制.zip
- LABVIEW程序实例-液位全局变量.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功