PHP分片上传文件到又拍云对象存储
2021-02-12 12:17
标签:jpg service path 去掉 vendor 数据 ima 支持 方便 注册我就不说了,大家自行前往又拍云注册就行。 注册之后需要实名认证,否则无法使用,但由于我已经实名认证了(当时没截图),网上也很难找到截图,我找了一张很模糊的,不过还是能看清的 登录后,点击页面右上角的控制台,然后选择云产品→云存储 点击右上角创建一个服务(在这里叫服务,其它云一般叫“存储桶”,英文“bucket”) 按下图填写,其中加速按你的需求,但如果选择全球加速,价格肯定比国内加速贵;操作员如果你之前没有就需要新建并授权,因为调用api需要一个账号密码,但这个账号密码并不是你注册又拍云的那个账号密码,而是要在这里新建一个,叫“操作员” 又拍云的对象存储是支持直接使用ftp登录的,这里我使用filezilla登录(其它ftp工具也类似)。 打开filezilla,如下图所示,点击左上角的“Site Manager”图标(也可直接点击菜单 如果ftp能连接上,也能上传文件,说明操作员账号没啥问题,连不上可能是前面忘了授权,可以点击右上角用户名→账户管理 然后点击操作员→管理,查看是否已经给了这个操作员权限,如果没有给,则给它加上权限,然后再试,应该就没问题了 另外,我们还可以在网页上上传文件 创建一个服务后,又拍云默认会给我们一个测试域名,域名结构为”https://服务名.test.upcdn.net“,其实也可以在控制台中看到,点击上图中的“配置”→选择`域名管理`选项卡(实际上默认就是该选项卡)→滚动到最底下即可看见送的测试域名。 REST API文档,其中并行式断点续传和串行式断点续传,就是分片上传了 不过又拍云有写好的php-sdk,就不用我们自己写这个,直接传参就行。 创建一个文件夹 安装完成后,在 好了,到这里就写完了,enjoy! PHP分片上传文件到又拍云对象存储 标签:jpg service path 去掉 vendor 数据 ima 支持 方便 原文地址:https://blog.51cto.com/3807606/2500539注册&实名认证
认证方式:支付宝芝麻信用有700分以上选支付宝芝麻信用认证,没有的话选人工(选人工应该要上传手持身份证的照片)
所属行业:我的是博客,所以我选的是门户网站→博客
网站/产品:就填你的网站名称(暂时没有就随便想一个)
网站地址:写你自己搭建的博客域名,没有的话用csdn,博客园,新浪博客之类的博客地址,再没有的话好像也可以不写
个人名称:写你的姓名(跟身份证要一样)
身份证号码:如实填写,否则无法通过实名认证创建存储桶
测试操作员账号及默认域名
File
→Site Manager
)进入以下界面,然后按下图填写参数使用php分片上传文件
UploadToUpyun
,在终端中进入该文件夹,使用composer安装sdk(没有composer命令请自行安装,都0202年了应该都有吧?)composer require upyun/sdk
UploadToUpyun
文件夹中创建一个index.php
,代码如下,注释已经写的非常清楚,填上你的参数即可正常运行,相信没有人不会 15728640){
/* uploadType有两个值
- BLOCK : 串行分块上传
- BLOCK_PARALLEL : 并行分块上传
*/
//然后可对new出的config对象的属性继续设置参数(有哪些参数可直接查看Config类: vendor/upyun/sdk/src/Upyun/Config.php)
//设置uploadType=BLOCK_PARALLEL表示使用并行分片上传
$serviceConfig->uploadType = ‘BLOCK_PARALLEL‘;
}
$client = new Upyun($serviceConfig);
$fp = fopen($uploadFilePath, ‘rb‘);
$retArr = $client->write($key, $fp);
// var_dump($retArr);exit;
/*
* 返回的$retArr的值
* array(6) {
‘x-upyun-content-length‘ =>
string(5) "47028"
‘x-upyun-height‘ =>
string(3) "473"
‘x-upyun-content-type‘ =>
string(9) "image/png"
‘x-upyun-file-type‘ =>
string(3) "PNG"
‘x-upyun-width‘ =>
string(3) "839"
‘x-upyun-frames‘ =>
string(1) "1"
}
*/
//我们随便拿一个元素来判断是否上传成功
if(isset($retArr[‘x-upyun-content-length‘])){
//在实际使用中,$key可能是用户传过来的,在不知道$key是否以斜杠开头的情况下,统一先去掉再自己添加一个
echo $defaultDomain . ‘/‘ . ltrim($key);
}else{
echo ‘Upload failed.‘;
}
上一篇:css之命名规范 BEM