七牛云多文件打包压缩采用composer 的qiniu/php-sdk扩展

use Qiniu\Auth;
use Qiniu\Processing\PersistentFop;


    // 加入消息队列
    public function job()
    {
        //七牛云压缩文件测试

        $accessKey = '七牛云的accessKey';
        $secretKey = '七牛云的secretKey';

        $auth = new Auth($accessKey, $secretKey);

        // 要压缩的文件所在的空间和文件名
        $bucket = '空间名称';
        // 注意这个key 是你空间里现存的文件名称(只是名称 不需要完整的url地址 文件大小必须大于5kb以上)
        $key = '你空间里面任意一个文件名称';

        // 用户默认没有私有队列,需要在这里创建然后填写                             
        // https://portal.qiniu.com/dora/media-gate/pipeline 创建队列路径
        $pipeline = 'sdktest';

        $pfop = new PersistentFop($auth, null);

        // 进行 zip 压缩的 文件路径 完整的 url
        $url1 = '文件url';
        $url2 = '文件url';

        // 压缩后的 文件名称
        $zipKey = 'kerry.zip';

        $fops = 'mkzip/2/url/' . \Qiniu\base64_urlSafeEncode($url1);
        $fops .= '/url/' . \Qiniu\base64_urlSafeEncode($url2);
        $fops .= '|saveas/' . \Qiniu\base64_urlSafeEncode("$bucket:$zipKey");

        // 处理完成后通知到你的业务服务器(需要可以公网访问,并能够相应 200 OK)
        $notify_url = null;

        // 当转码后的文件名与源文件名相同时,是否覆盖源文件
        $force = false;

        list($id, $err) = $pfop->execute($bucket, $key, $fops, $pipeline, $notify_url, $force);


        echo "\n====> pfop mkzip result: \n";

        if ($err != null) {
            dump((array)$err);
        } else {
            echo "PersistentFop Id: $id\n";
        }

        // 查询转码的进度和状态
        list($ret, $err) = $pfop->status($id);
        echo "\n====> pfop mkzip status: \n";
        if ($err != null) {
            echo '---------';
            halt($err);
        } else {
            halt($ret);
        }
    }

今天测试了七牛云的多文件压缩打包下载,使用的composer qiniu/php-sdk里面的方法其中遇到了一些坑

比如说 $key 是指你当前存储的空间里面任意一个文件的名字,并且该文件必须大于5kb以上 不然一直报错 no such file or directory

当你的key的文件过小,在智能多媒体平台---任务里面 执行队列失败会报错 execute fop cmd failed: source data is empty or fail to get source data 证明你的文件过小

压缩文件的Api文档地址:https://developer.qiniu.com/dora/1667/mkzip

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值