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 相关文章推荐
JAVA/JSP学习系列之七
Oct 09 PHP
PHP 模拟$_PUT实现代码
Mar 15 PHP
PHP 文件缓存的性能测试
Apr 25 PHP
用PHP将网址字符串转换成超链接(网址或email)
May 25 PHP
PHP文件读写操作之文件读取方法详解
Jan 13 PHP
php join函数应用
May 04 PHP
PHP5权威编程阅读学习笔记 附电子书下载
Jul 05 PHP
PHP rawurlencode与urlencode函数的深入分析
Jun 08 PHP
php从数据库中读取特定的行(实例)
Jun 02 PHP
Yii2 如何在modules中添加验证码的方法
Jun 19 PHP
Yii框架模拟组件调用注入示例
Nov 11 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
Dec 02 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 include的妙用,实现路径加密
2008/07/29 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
CodeIgniter表单验证方法实例详解
2016/03/03 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
2020/04/23 PHP
Javascript 刷新全集常用代码
2009/11/22 Javascript
ExtJs使用IFrame的实现代码
2010/03/24 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
Actionscript与javascript交互实例程序(修改)
2016/09/22 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
细说webpack源码之compile流程-rules参数处理技巧(1)
2017/12/26 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
Vue一次性简洁明了引入所有公共组件的方法
2018/11/28 Javascript
其实你可以少写点if else与switch(推荐)
2019/01/10 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
2016/07/12 Python
Python使用Matplotlib实现雨点图动画效果的方法
2017/12/23 Python
python随机取list中的元素方法
2018/04/08 Python
python3实现字符串操作的实例代码
2019/04/16 Python
Python爬虫 bilibili视频弹幕提取过程详解
2019/07/31 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
Python实现代码块儿折叠
2020/04/15 Python
python request 模块详细介绍
2020/11/10 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
美国第二大团购网站:LivingSocial
2016/07/24 全球购物
黄色火烈鸟:De Gele Flamingo
2019/03/18 全球购物
美国婴儿用品及配件购买网站:Munchkin
2019/04/03 全球购物
Ticketmaster意大利:音乐会、节日、艺术和剧院的官方门票
2019/12/23 全球购物
社团活动策划书范文
2014/01/09 职场文书
销售员岗位职责
2014/06/09 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书
2016年母亲节寄语
2015/12/04 职场文书
公司开业的祝贺语大全(60条)
2019/07/05 职场文书