getObjectUrl.php 1.5 KB
<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\Cos\Client(
    array(
        'region' => $region,
        'scheme' => 'https', //协议头部,默认为http
        'credentials' => array(
            'secretId' => $secretId,
            'secretKey' => $secretKey
        )
    )
);
$local_path = "/data/exampleobject";

try {
    $bucket = "examplebucket-1250000000"; //存储桶,存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
    $key = "exampleobject"; //对象在存储桶中的位置,即对象键
    $signedUrl = $cosClient->getObjectUrl(
        $bucket,
        $key,
        '+10 minutes', //签名的有效时间
        [
            'ResponseContentDisposition' => '111',
            'Params' => [ // Params中可以传自定义querystring
                'aaa' => 'bbb',
                'ccc' => 'ddd'
            ],
        ]
    );
    // 请求成功
    echo $signedUrl;
} catch (\Exception $e) {
    // 请求失败
    print_r($e);
}