美文网首页
cos-php-sdk-v4文档

cos-php-sdk-v4文档

作者: lewzylu | 来源:发表于2017-08-22 16:14 被阅读0次

    开发准备

    相关资源

    cos php sdk v4 github项目
    (本版本SDK基于JSON API封装组成)

    开发环境

    1. 依赖环境:PHP 5.3.0 版本及以上
    2. 从控制台获取APP ID、SecretID、SecretKey,并修改 cos-php-sdk-v4/qcloudcos/conf.php 文件里的相关配置。

    SDK 配置

    下载 SDK 后,在使用 SDK 时,加载 cos-php-sdk-v4/include.php 并设置全局的超时时间及COS所在的区域即可。

    require('cos-php-sdk-v4/include.php'); 
    use Qcloud\Cos\Api;
    
    $config = array(
        'app_id' => '',
        'secret_id' => '',
        'secret_key' => '',
        'region' => 'gz',
        'timeout' => 60
    );
    // 设置COS所在的区域,对应关系如下:
    //     华南  -> gz
    //     华东  -> sh
    //     华北  -> tj
    
    $cosApi = new Api($config);
    

    若需要支持 HTTPS ,修改 conf.php 中的 API_COSAPI_END_POINT 的值为如下:

    const API_COSAPI_END_POINT = 'https://region.file.myqcloud.com/files/v2/';
    

    生成签名

    多次有效签名

    方法原型

    public function createReusableSignature($expiration, $bucket, $filepath);
    

    参数说明

    参数名 类型 必填 参数描述
    expiration long 过期时间,Unix时间戳
    bucket String bucket 名称
    filepath String 文件路径

    示例

    $auth = new Auth($appId = '',$secretId ='',$secretKey = '');
    $expiration = time() + 60;  
    $bucket = 'testbucket';
    $filepath = "/myFloder/myFile.rar";
    $sign = $auth->createReusableSignature($expiration, $bucket, $filepath);
    

    单次有效签名

    方法原型

    public function createNonreusableSignature($bucket, $filepath);
    

    参数说明

    参数名 类型 必填 参数描述
    bucket String bucket 名称
    filepath String 文件路径,以斜杠开头,例如 /filepath/filename,为文件在此 bucketname 下的全路径

    示例

    $auth = new Auth($appId = '',$secretId ='',$secretKey = '');
    $bucket = 'testbucket';
    $filepath = "/myFloder/myFile.rar";
    $sign = $auth->createNonreusableSignature($bucket, $filepath);
    

    目录操作

    创建目录

    接口说明:用于目录的创建,可通过此接口在指定 bucket 下创建目录。

    方法原型

    public function createFolder($bucketName, $path, $bizAttr = null);
    

    参数说明

    参数名 类型 必填 参数描述
    bucketName String bucket 名称
    path String 目录全路径
    bizAttr String 目录属性信息,业务自行维护

    返回值说明(json)

    参数名 类型 必带 参数描述
    code Int 错误码,成功时为0
    message String 错误信息
    data Array 返回数据,请参考《Restful API 创建目录》

    示例

    $bizAttr = "attr_folder";
    $result  = $cosApi->createFolder($bucketName, $path,$bizAttr)
    

    目录更新

    接口说明:用于目录业务自定义属性的更新,调用者可以通过此接口更新业务的自定义属性字段。

    方法原型

    public function updateFolder($bucketName, $path, $bizAttr = null);
    

    参数说明

    参数名 类型 必填 参数描述
    bucketName String bucket 名称
    path String 目录路径
    bizAttr String 目录属性信息

    返回值说明(json)

    参数名 类型 必带 参数描述
    code Int 错误码,成功时为0
    message String 错误信息

    示例

    $bizAttr = "folder new attribute";
    $result  = $cosApi->updateFolder($bucketName, $path, $bizAttr)
    

    目录查询

    接口说明:用于目录属性的查询,调用者可以通过此接口查询目录的属性。

    原型方法

    public function statFolder($bucketName, $path);
    

    参数说明

    参数名 类型 必填 参数描述
    bucketName String bucket 名称
    path String 目录路径

    返回值说明(json)

    参数名 类型 必带 参数描述
    code Int 错误码,成功时为0
    message String 错误信息
    data Array 目录属性数据,请参考《Restful API 目录查询》

    示例

    $result = $cosApi->statFolder($bucketName, $path);
    

    删除目录

    接口说明:用于目录的删除,调用者可以通过此接口删除空目录,如果目录中存在有效文件或目录,将不能删除。

    方法原型

    public function delFolder($bucketName, $path);
    

    参数说明

    参数名 类型 必填 参数描述
    bucketName String bucket 名称
    path String 目录全路径

    返回值说明(json)

    参数名 类型 必带 参数描述
    code Int 错误码,成功时为0
    message String 错误信息

    示例

    $result = $cosApi->delFolder($bucketName, $path);
    

    列举目录中的文件和目录

    接口说明:用于列举目录下文件和目录,可以通过此接口查询目录下的文件和目录属性。

    方法原型

    public function listFolder($bucketName, $path, $num = 20, $pattern = 'eListBoth', $context = null);
    

    参数说明

    参数名 类型 必填 参数描述
    bucketName String bucket名称
    path String 目录的全路径
    num int 要查询的目录/文件数量
    context String 透传字段,查看第一页,则传空字符串。若需要翻页,需要将前一页返回值中的context透传到参数中。
    pattern String eListBoth:列举文件和目录;eListDirOnly:仅列举目录;eListFileOnly:仅列举文件

    返回值说明(json)

    参数名 类型 必带 参数描述
    code Int API 错误码,成功时为0
    message String 错误信息
    data Array 返回数据,请参考《Restful API 目录列表》

    示例

    $result = $cosApi->listFolder($bucketName, $path, 20, 'eListBoth',0);
    

    列举目录下指定前缀文件&目录

    接口说明:用于列举目录下指定前缀的文件和目录,可以通过此接口查询目录下的指定前缀的文件和目录信息。

    原型方法

    public function prefixSearch($bucketName, $prefix, $num = 20, $pattern = 'eListBoth', 
    $context = null);
    

    参数说明

    参数名 类型 必填 参数描述
    bucketName String bucket名称,bucket创建参见创建Bucket
    prefix String 列出含此前缀的所有文件(带全路径)
    num int 要查询的目录/文件数量
    context String 透传字段,查看第一页,则传空字符串。若需要翻页,需要将前一页返回值中的context透传到参数中。
    pattern String eListBoth:列举文件和目录;eListDirOnly:仅列举目录;eListFileOnly:仅列举文件

    返回值说明(json)

    参数名 类型 必带 参数描述
    code Int 错误码,成功时为0
    message String API 错误信息
    data Array 返回数据,请参考《Restful API 目录列表》

    示例

    $prefix= "/myFolder/2015-";
    $result = $cosApi->prefixSearch($bucketName, $prefix, 20, 'eListBoth',0);
    

    文件操作

    文件上传

    接口说明:文件上传的统一接口,对于大于20M的文件,内部会通过多次分片的方式进行文件上传。

    原型方法

    public function upload($bucketName, $srcPath, $dstPath, 
                   $bizAttr = null, $slicesize = null, $insertOnly = null);
    

    参数说明

    参数名 类型 必填 参数描述
    bucketName String bucket名称,bucket创建参见创建Bucket
    srcPath String 本地要上传文件的全路径
    dstPath String 文件在COS服务端的全路径,不包括/appid/bucketname
    bizAttr String 文件属性,业务端维护
    slicesize int 文件分片大小,当文件大于20M时,SDK内部会通过多次分片的方式进行上传,默认分片大小为1M,支持的最大分片大小为3M
    insertOnly int 同名文件是否进行覆盖。0:覆盖;1:不覆盖

    返回值说明(json)

    参数名 类型 必带 参数描述
    code Int 错误码,成功时为0
    message String 错误信息
    data Array 返回数据,请参考《Restful API 创建文件》

    示例

    $dstPath = "/myFolder/test.mp4";
    $bizAttr = "";
    $insertOnly = 0;
    $sliceSize = 3 * 1024 * 1024;
    $result = $cosApi->upload($bucketName,$srcPath,$dstPath ,"biz_attr");
    

    文件属性更新

    接口说明:用于目录业务自定义属性的更新,可以通过此接口更新业务的自定义属性字段。

    原型方法

    public function update($bucketName, $path, 
                      $bizAttr = null, $authority=null,$customer_headers_array=null);
    

    参数说明

    参数名 类型 必填 参数描述
    bucketName String bucket 名称
    path String 文件在文件服务端的全路径,不包括/appid/bucketname
    bizAttr String 待更新的文件属性信息
    authority String eInvalid(继承Bucket的读写权限);eWRPrivate(私有读写);eWPrivateRPublic(公有读私有写)
    customer_headers_array String 用户自定义头域。可携带参数名分别为:'Cache-Control'、'Content-Type'、'Content-Disposition'、'Content-Language'、以及以'x-cos-meta-'为前缀的参数名称

    返回值说明(json)

    参数名 类型 必带 参数描述
    code Int 错误码,成功时为0
    message String 错误信息

    示例

    $bizAttr = "";
    $authority = "eWPrivateRPublic";
    $customer_headers_array = array(
        'Cache-Control' => "no",
        'Content-Language' => "ch",
    );
    $result = $cosApi->update($bucketName, $dstPath, $bizAttr,$authority, $customer_headers_array);
    

    文件查询

    接口说明:用于文件的查询,调用者可以通过此接口查询文件的各项属性信息。

    原型方法

     public function stat($bucketName, $path); 
    

    参数说明

    参数名 类型 必填 参数描述
    bucketName String bucket 名称
    path String 文件在文件服务端的全路径

    返回值说明(json)

    参数名 类型 必带 参数描述
    code Int 错误码,成功时为0
    message String 错误信息
    data Array 文件属性数据,请参考《Restful API 文件查询》

    示例

    $result = $cosApi->stat($bucketName, $path);
    

    文件删除

    接口说明:用于文件的删除,调用者可以通过此接口删除已经上传的文件。

    原型方法

    public function delFile($bucketName, $path);
    

    参数说明

    参数名 类型 必填 参数描述
    bucketName String bucket 名称
    path String 文件的全路径

    返回值说明(json)

    参数名 类型 必带 参数描述
    code Int 错误码,成功时为0
    message String 错误信息

    示例

    $result = $cosApi->delFile($bucketName, $path);
    

    相关文章

      网友评论

          本文标题:cos-php-sdk-v4文档

          本文链接:https://www.haomeiwen.com/subject/tgokdxtx.html