PHP sdk实现在线打包代码示例


Posted in PHP onDecember 09, 2020

如果需要将空间中的多个文件,打包成一个压缩文件,该怎么做,不需要自己本地打包好再上传,七牛已经为我们提供了这项服务。

命令:mkzip/2/url/xx/alias/xxx;

不仅可以将文件打包,还可以将打包内容按文件夹进行划分,如test.zip 解压后为文件夹T1和T2,文件夹中再是具体的文件,改如何做,主要就在alias命名上了,alias只要命名为文件夹/文件名的形式就可以了。

所以如果我们有多个类型的多个文件,可以封装一个方法,传递给他一个原文件名和别名的数组就可以了。然后方法就是遍历数组对pfop命令进行多个url与alias的拼接。

/**
 * 七牛资源压缩
 * @param $packageName 打包后的资源名
 * @param Array $sourceArray 资源数组 
 * [
 *   [
 *     'key' => 'http://source.domain.cn/test1.ppt',
 *     'alias' => 'alias1.ppt',//别名 可空,空则为源文件名,如要创建文件夹则命名为 文件夹名/文件名
 *   ],
 *   [
 *     'key' => 'http://source.domain.cn/test2.ppt',
 *     'alias' => 'alias2.ppt'
 *   ],
 * ]
 */
public function compress(Array $sourceArray,$packageName,$callbackUrl='')
 {
   $bucket = $this->bucket_for_image;
   $fops = 'mkzip/2';
   foreach ($sourceArray as $k => $source) {
     $Base64EncodedURL = $this->base64_urlSafeEncode($source['key']);
     $Base64AliasEncodedURL = $this->base64_urlSafeEncode($source['alias']);
     $fops .= '/url/'.$Base64EncodedURL;
     if(!empty($source['alias'])){
       $fops .= '/alias/'.$Base64AliasEncodedURL;
     }
   }
   $fops .= '|saveas/'.$this->saveasEnocde($packageName); 
   $res = $this->persistentOps('test.txt',$bucket,$fops,$callbackUrl,false);
   echo $res;
 }

需要注意的一点是,调用persistentOps的时候,第一个参数必须为bucket内一个有效存在的资源的名称,没有实际作用,但必须指定。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP4(windows版本)中的COM函数
Oct 09 PHP
PHP 超链接 抓取实现代码
Jun 29 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
Jun 29 PHP
php中如何防止表单的重复提交
Aug 02 PHP
PHP常用的缓存技术汇总
May 05 PHP
destoon在360浏览器下出现用户被强行注销的解决方法
Jun 26 PHP
php连接oracle数据库的方法(测试成功)
May 26 PHP
PHP加密解密类实例代码
Jul 20 PHP
基于PHP常用文件函数和目录函数整理
Aug 17 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
Mar 30 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 PHP
基于PHP实现生成随机水印图片
Dec 09 #PHP
PHP实现腾讯短网址生成api接口实例
Dec 08 #PHP
win10下 php安装seaslog扩展的详细步骤
Dec 04 #PHP
深入理解PHP+Mysql分布式事务与解决方案
Dec 03 #PHP
浅谈PHP中的那些魔术常量
Dec 02 #PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
Dec 01 #PHP
php如何实现数据库的备份和恢复
Nov 30 #PHP
You might like
用php+javascript实现二级级联菜单的制作
2008/05/06 PHP
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
PHP教程 基本语法
2009/10/23 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
一实用的实现table排序的Javascript类库
2007/09/12 Javascript
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
Python的爬虫包Beautiful Soup中用正则表达式来搜索
2016/01/20 Python
Python字典,函数,全局变量代码解析
2017/12/18 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
python多线程http压力测试脚本
2019/06/25 Python
Python实现的对一个数进行因式分解操作示例
2019/06/27 Python
Python如何创建装饰器时保留函数元信息
2020/08/07 Python
Python安装Bs4的多种方法
2020/11/28 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
Html5 实现微信分享及自定义内容的流程
2019/08/20 HTML / CSS
COSETTE官网:奢华,每天
2020/03/22 全球购物
UNIX特点都有哪些
2016/04/05 面试题
管理科学大学生求职信
2013/11/13 职场文书
施工安全协议书
2013/12/11 职场文书
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
入党积极分子对十八届四中全会期盼的思想汇报
2014/10/17 职场文书
2014年终工作总结范本
2014/12/15 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
村官2015年度工作总结
2015/10/14 职场文书
个人工作失误的保证书怎么写?
2019/06/21 职场文书
MySQL中连接查询和子查询的问题
2021/09/04 MySQL