Blogger Information
Blog 30
fans 1
comment 0
visits 23337
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP sdk实现在线打包代码示例
P粉896289085
Original
429 people have browsed it

这篇文章主要介绍了PHP sdk实现在线打包代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

如果需要将空间中的多个文件,打包成一个压缩文件,该怎么做,不需要自己本地打包好再上传,七牛已经为我们提供了这项服务。
命令:mkzip/2/url/xx/alias/xxx;
不仅可以将文件打包,还可以将打包内容按文件夹进行划分,如test.zip 解压后为文件夹T1和T2,文件夹中再是具体的文件,改如何做,主要就在alias命名上了,alias只要命名为文件夹/文件名的形式就可以了。
所以如果我们有多个类型的多个文件,可以封装一个方法,传递给他一个原文件名和别名的数组就可以了。然后方法就是遍历数组对pfop命令进行多个url与alias的拼接。

  1. /**
  2. * 七牛资源压缩
  3. * @param $packageName 打包后的资源名
  4. * @param Array $sourceArray 资源数组
  5. * [
  6. * [
  7. * 'key' => 'http://source.domain.cn/test1.ppt',
  8. * 'alias' => 'alias1.ppt',//别名 可空,空则为源文件名,如要创建文件夹则命名为 文件夹名/文件名
  9. * ],
  10. * [
  11. * 'key' => 'http://source.domain.cn/test2.ppt',
  12. * 'alias' => 'alias2.ppt'
  13. * ],
  14. * ]
  15. */
  16. public function compress(Array $sourceArray,$packageName,$callbackUrl='')
  17. {
  18. $bucket = $this->bucket_for_image;
  19. $fops = 'mkzip/2';
  20. foreach ($sourceArray as $k => $source) {
  21. $Base64EncodedURL = $this->base64_urlSafeEncode($source['key']);
  22. $Base64AliasEncodedURL = $this->base64_urlSafeEncode($source['alias']);
  23. $fops .= '/url/'.$Base64EncodedURL;
  24. if(!empty($source['alias'])){
  25. $fops .= '/alias/'.$Base64AliasEncodedURL;
  26. }
  27. }
  28. $fops .= '|saveas/'.$this->saveasEnocde($packageName);
  29. $res = $this->persistentOps('test.txt',$bucket,$fops,$callbackUrl,false);
  30. echo $res;
  31. }

需要注意的一点是,调用persistentOps的时候,第一个参数必须为bucket内一个有效存在的资源的名称,没有实际作用,但必须指定。
以上就是本文的全部内容,希望对大家的学习有所帮助。

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post