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程序中的常见漏洞进行攻击(下)
Oct 09 PHP
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
Jun 03 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 PHP
PHP实现把数字ID转字母ID
Aug 12 PHP
使用php记录用户通过搜索引擎进网站的关键词
Feb 13 PHP
php rsa加密解密使用详解
Jan 14 PHP
PHP输出日历表代码实例
Mar 27 PHP
php替换字符串中间字符为省略号的方法
May 04 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
Oct 24 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 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的网址
2006/11/25 PHP
PHP 登录完成后如何跳转上一访问页面
2014/01/14 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
PHP获取表单所有复选框的值的方法
2014/08/28 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
smarty模板引擎从配置文件中获取数据的方法
2015/01/22 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
Javascript 函数对象的多重身份
2009/06/28 Javascript
基于jquery的获取浏览器窗口大小的代码
2011/03/28 Javascript
js去除空格的12种实用方法
2013/11/08 Javascript
js控制input输入字符解析
2013/12/27 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
node.js中的http.get方法使用说明
2014/12/14 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
BootStrap中的table实现数据填充与分页应用小结
2016/05/26 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
微信小程序 实战程序简易新闻的制作
2017/01/09 Javascript
jquery拖动改变div大小
2017/07/04 jQuery
jquery实现倒计时小应用
2017/09/19 jQuery
微信小程序实现折叠展开效果
2018/07/19 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
Python编写生成验证码的脚本的教程
2015/05/04 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
python异步Web框架sanic的实现
2020/04/27 Python
Scrapy中如何向Spider传入参数的方法实现
2020/09/28 Python
用css3实现当鼠标移进去时当前亮其他变灰效果
2014/04/08 HTML / CSS
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
华为智利官方商店:Huawei Chile
2020/05/09 全球购物
架构师岗位职责
2013/11/18 职场文书
会计学专业学生的求职信范文
2014/01/27 职场文书
连带责任保证书
2014/04/29 职场文书
汽车广告策划方案
2014/05/31 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书