七牛云覆盖上传 php

使用七牛云过程中遇到了需要上传覆盖的情况,最终解决,分享给大家。

七牛云sdk上传示例中是这样写的

<?php
    require_once 'path_to_sdk/vendor/autoload.php';

    // 引入鉴权类
    use QiniuAuth;

    // 引入上传类
    use QiniuStorageUploadManager;

    // 需要填写你的 Access Key 和 Secret Key
    $accessKey = 'Access_Key';
    $secretKey = 'Secret_Key';

    // 构建鉴权对象
    $auth = new Auth($accessKey, $secretKey);

    // 要上传的空间
    $bucket = 'Bucket_Name';

    // 生成上传 Token
    $token = $auth->uploadToken($bucket);

    // 要上传文件的本地路径
    $filePath = './php-logo.png';

    // 上传到七牛后保存的文件名
    $key = 'my-php-logo.png';

    // 初始化 UploadManager 对象并进行文件的上传
    $uploadMgr = new UploadManager();

    // 调用 UploadManager 的 putFile 方法进行文件的上传
    list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
    echo "
====> putFile result: 
";
    if ($err !== null) {
        var_dump($err);
    } else {
        var_dump($ret);
    }
 
$token = $auth->uploadToken($bucket);
这个uploadToken方法是一个重载方法,第二个参数传入七牛的文件key,这样就可以实现文件上传覆盖。


参考:http://developer.qiniu.com/article/developer/security/put-policy.html 里的 scope 字段。



原文地址:https://www.cnblogs.com/qinwx/p/5474163.html