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脚本
Nov 26 PHP
PHP base64+gzinflate压缩编码和解码代码
Oct 03 PHP
php读取msn上的用户信息类
Dec 05 PHP
php microtime获取浮点的时间戳
Feb 21 PHP
php递归删除目录下的文件但保留的实例分享
May 10 PHP
Laravel框架中实现使用阿里云ACE缓存服务
Feb 10 PHP
浅谈COOKIE和SESSION区别
Jul 19 PHP
php中ob函数缓冲机制深入理解
Aug 03 PHP
CI框架数据库查询之join用法分析
May 18 PHP
PHP Mysqli 常用代码集合
Nov 12 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
Mar 17 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
Jan 23 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作为网站开发语言的原因分享
2012/01/03 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
(function(){})()的用法与优点
2007/03/11 Javascript
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
jquery ui bootstrap 实现自定义风格
2014/11/14 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
2015/03/01 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
2015/12/10 Javascript
Vue.js render方法使用详解
2017/04/05 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
vue注册组件的几种方式总结
2018/03/08 Javascript
vue中关闭eslint的方法分析
2018/08/04 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
[45:44]完美世界DOTA2联赛PWL S2 FTD vs PXG 第一场 11.27
2020/12/01 DOTA
跟老齐学Python之再深点,更懂list
2014/09/20 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
python 顺时针打印矩阵的超简洁代码
2018/11/14 Python
numpy.linspace函数具体使用详解
2019/05/27 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
2020/06/23 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
美国Lolё官网:购买大胆而美丽的女性运动服装
2017/05/22 全球购物
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
进修护士自我鉴定
2013/10/14 职场文书
基层党员对照检查材料
2014/08/25 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
公司周年庆典标语
2014/10/07 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
中学语文教学反思
2016/02/16 职场文书
创业计划书之养殖业
2019/10/11 职场文书