---
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�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
教育部认可的大学生竞赛备赛资料代码,源码,竞赛总结,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通 全国电子设计大赛、全国大学生智能汽车竞赛、蓝桥杯、集成电路创新创业大赛、光电设计竞赛、挑战杯、大创项目、互联网+、三创赛、计算机设计竞赛、创新创业大赛、ACM-ICPC国际大学生程序设计竞赛、全国大学生数学建模竞赛、全国大学生电子商务“创新、创意及创业”挑战赛、全国大学生节能减排社会实践与科技竞赛、全国大学生工程训练综合能力竞赛、全国大学生机器人大赛-RoboMaster、RoboCon、“西门子杯”中国智能制造挑战赛、中国大学生计算机设计大赛、世界技能大赛、中国高校计算机大赛-大数据挑战赛、团体程序设计天梯赛、移动应用创新赛、网络技术挑战赛、全国大学生信息安全竞赛、“中国软件杯”大学生软件设计大赛、全国大学生光电设计竞赛、中国机器人及人工智能大赛、“大唐杯”全国大学生移动通信5G技术大赛、华为ICT大赛、全国大学生嵌入式芯片与系统设计竞赛、中国高校智能机器人创意大赛
资源推荐
资源详情
资源评论
收起资源包目录
竞赛资料源码-基于web电子地图的照片服务系统-SuperMap杯第十二届全国高校GIS大赛系统开发类 全国二等奖.zip (837个子文件)
SuperMap第12届大赛-12A-图图世界—基于web电子地图的照片服务系统.avi 38.53MB
jsmin.c 7KB
CRS 121B
bootstrap.css 144KB
bootstrap.css 144KB
bootstrap.min.css 124KB
bootstrap.css 120KB
bootstrap.css 120KB
bootstrap.css 120KB
bootstrap.min.css 101KB
bootstrap.min.css 97KB
bootstrap.min.css 97KB
bootstrap.min.css 97KB
bootstrap.min.css 97KB
main.css 97KB
teambition.css 95KB
umeditor.css 17KB
bootstrap-responsive.min.css 16KB
bootstrap-theme.css 14KB
bootstrap-theme.css 14KB
bootstrap-theme.css 14KB
umeditor.min.css 14KB
bootstrap-theme.min.css 13KB
bootstrap-theme.min.css 13KB
bootstrap-theme.min.css 13KB
style.css 9KB
mathquill.css 9KB
sm-doc.css 8KB
sm-extend.css 6KB
me.css 6KB
global.css 5KB
hadoop.css 4KB
hadoop.css 3KB
portal.css 3KB
image.css 3KB
video.css 3KB
global.css 2KB
emotion.css 2KB
formula.css 838B
base.css 606B
base.css 541B
google.css 306B
Symbola.eot 869KB
stixgeneral-webfont.eot 451KB
stixgeneralbol-webfont.eot 239KB
stixgeneralbolita-webfont.eot 210KB
stixgeneralitalic-webfont.eot 204KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
EPSG 16KB
wface.gif 49KB
jxface2.gif 40KB
yface.gif 28KB
bface.gif 27KB
icons.gif 20KB
gif_1.gif 19KB
tface.gif 19KB
fface.gif 18KB
loading-white-18.gif 9KB
cface.gif 8KB
loading-42-1.gif 4KB
loading-24-1.gif 4KB
loading-black-31.gif 3KB
videologo.gif 2KB
loading-16-2.gif 1KB
ok.gif 866B
close.gif 193B
overview_replacement.gif 79B
spacer.gif 43B
0.gif 43B
blank.gif 42B
blank.gif 42B
.gitignore 1KB
.htaccess 512B
LiveDatanodes.htm 7KB
namenode_main.htm 6KB
head.htm 346B
foot.htm 77B
developGuide.html 53KB
trafficTransfer.html 44KB
mobileTopic.html 31KB
dyncSegmentationTopic.html 22KB
mapPrint.html 21KB
examples.html 20KB
interpolationAnalystByDataset.html 19KB
vectorLayerRegionName.html 19KB
intro.html 17KB
rendererTopic.html 16KB
vectorLayerBusSys.html 14KB
Win8AppTopic.html 14KB
interpolationAnalystByGeometry.html 13KB
fieldStatistic.html 13KB
editFeature.html 13KB
themeUnique.html 12KB
queryByGeometry.html 12KB
setlayerstatus.html 10KB
index.html 10KB
closestFacilities.html 10KB
共 837 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
妄北y
- 粉丝: 2w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功