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 相关文章推荐
PHP simple_html_dom.php+正则 采集文章代码
Dec 24 PHP
php构造函数实例讲解
Nov 13 PHP
Windows下的PHP安装pear教程
Oct 24 PHP
PHP获取文件相对路径的方法
Feb 26 PHP
PHP定时执行任务实现方法详解(Timer)
Jul 30 PHP
必须收藏的php实用代码片段
Feb 02 PHP
PHP微信刮刮卡 附微信接口
Jul 22 PHP
php微信浏览器分享设置以及回调详解
Aug 01 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
Jun 06 PHP
PHP PDOStatement::columnCount讲解
Jan 30 PHP
php实现session共享的实例方法
Sep 19 PHP
laravel validate 设置为中文的例子(验证提示为中文)
Sep 29 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学习教程之第2天
2008/06/15 PHP
AJAX的使用方法详解
2017/04/29 PHP
使用正则替换变量
2007/05/05 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
深入理解js promise chain
2016/05/05 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
ajax实现动态下拉框示例
2017/01/10 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
聊聊鉴权那些事(推荐)
2019/08/22 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
[03:04]DOTA2英雄基础教程 影魔
2013/12/11 DOTA
详解Python编程中包的概念与管理
2015/10/16 Python
学习python之编写简单简单连接数据库并执行查询操作
2016/02/27 Python
Python语言的面相对象编程方式初步学习
2016/03/12 Python
对python3标准库httpclient的使用详解
2018/12/18 Python
python制作填词游戏步骤详解
2019/05/05 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
python文件读取失败怎么处理
2020/06/23 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
基于Python爬取股票数据过程详解
2020/10/21 Python
CSS3效果:自定义“W”形运行轨迹实例
2017/03/29 HTML / CSS
埃弗顿足球俱乐部官方网上商店:Everton Direct
2018/01/13 全球购物
《锄禾》教学反思
2014/04/08 职场文书
英语课前三分钟演讲稿(6篇)
2014/09/13 职场文书
先进个人评语大全
2015/01/04 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
2016年全国助残日活动总结
2016/04/01 职场文书
详解CSS伪元素的妙用单标签之美
2021/05/25 HTML / CSS
Java字符串逆序方法详情
2022/03/21 Java/Android
Mongodb 迁移数据块的流程介绍分析
2022/04/18 MongoDB