API | Operation | Description |
Copying an object (modifying object attributes) | Copies a file to a destination path | |
Copying a part | Copies an object as a part. | |
Deleting an object | Deletes a specified object from a bucket. |
PUT Object - Copy
API for small files, and the Upload Part - Copy
API for large files. This API is usually used to modify object attributes. For the parameters required, see those of the PUT Object - Copy
and Upload Part - Copy
APIs.<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // Protocol header, which is http by default'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->Copy($bucket = 'examplebucket-1250000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket$key = 'exampleobject', // Object key$copySorce = array('Region' => 'COS_REGION','Bucket' => 'sourcebucket-1250000000','Key' => 'sourceobject',));// Request succeededprint_r($result);} catch (\\Exception $e) {// Request failedecho($e);}
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // Protocol header, which is http by default'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->Copy($bucket = 'examplebucket-1250000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket$key = 'exampleobject', // Object key$copySorce = array('Region' => 'COS_REGION','Bucket' => 'examplebucket-1250000000','Key' => 'exampleobject',),$options = array('StorageClass' => 'Archive'));// Request succeededprint_r($result);} catch (\\Exception $e) {// Request failedecho($e);}
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // Protocol header, which is http by default'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->Copy($bucket = 'examplebucket-1250000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket$key = 'exampleobject', // Object key$copySorce = array('Region' => 'COS_REGION','Bucket' => 'sourcebucket-1250000000','Key' => 'sourceObject',),$options = array('MetadataDirective' => 'Replaced','Metadata' => array('string' => 'string',),));// Request succeededprint_r($result);} catch (\\Exception $e) {// Request failedecho($e);}
PUT Object - Copy
) is used to copy an object to the destination path.public Guzzle\\Service\\Resource\\Model copyObject(array $args = array());
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // Protocol header, which is http by default'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->copyObject(array('Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket'Key' => 'exampleobject','CopySource' => 'sourcebucket-1250000000.cos.ap-guangzhou.myqcloud.com/sourceObject',));// Request succeededprint_r($result);} catch (\\Exception $e) {// Request failedecho($e);}
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // Protocol header, which is http by default'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->copyObject(array('Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket'Key' => 'exampleobject','CopySource' => 'sourcebucket-1250000000.cos.ap-guangzhou.myqcloud.com/sourceObject?versionId=MTg0NDUxNjI3NTM0ODE2Njc0MzU',));// Request succeededprint_r($result);} catch (\\Exception $e) {// Request failedecho($e);}
ARCHIVE
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // Protocol header, which is http by default'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->copyObject(array('Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket'Key' => 'exampleobject','CopySource' => 'sourcebucket-1250000000.cos.ap-guangzhou.myqcloud.com/sourceObject','StorageClass' => 'Archive'));// Request succeededprint_r($result);} catch (\\Exception $e) {// Request failedecho($e);}
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // Protocol header, which is http by default'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->copyObject(array('Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket'Key' => 'exampleobject','CopySource' => 'sourcebucket-1250000000.cos.ap-guangzhou.myqcloud.com/sourceObject','MetadataDirective' => 'Replaced','Metadata' => array('key1' => 'value1','key2' => 'value2',)));// Request succeededprint_r($result);} catch (\\Exception $e) {// Request failedecho($e);}
Parameter Name | Type | Description | Required |
Bucket | String | Bucket name in the format of BucketName-APPID | Yes |
Key | String | Object key is the unique identifier of an object in a bucket. For example, in the object’s access domain name examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg , the Key is doc/pic.jpg . | Yes |
CopySource | String | Path of the source object, which contains APPID , Bucket , Key , and Region , such as examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg | Yes |
MetadataDirective | String | Valid values: Copy : ignores the configured metadata and copies the file directly; Replaced : modifies the metadata according to the configured metadata. If the destination path is identical to the source path, this parameter must be set to Replaced . | No |
List Multipart Uploads
) is used to query in-progress multipart uploads in a specified bucket.public Guzzle\\Service\\Resource\\Model listMultipartUploads(array $args = array());
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // Protocol header, which is http by default'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->listMultipartUploads(array('Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket'Delimiter' => '/','EncodingType' => 'url','KeyMarker' => 'prfixKeyMarker','UploadIdMarker' => 'string','Prefix' => 'prfix','MaxUploads' => 1000,));// Request succeededprint_r($result);} catch (\\Exception $e) {// Request failedecho($e);}
Parameter Name | Type | Description | Required |
Bucket | String | Bucket name in the format of BucketName-APPID | Yes |
Delimiter | String | Delimiter, left empty by default. For example, you can set it to / to indicate folders. | No |
EncodingType | String | Encoding method of the returned value. The value is not encoded by default. Valid value: url | No |
KeyMarker | String | The key of the object after which the returned part list begins | No |
UploadIdMarker | String | The upload ID of the object after which the returned part list begins | No |
Prefix | String | Key prefix to query parts by, left empty by default | No |
MaxUploads | Int | Maximum number of returned parts, which is 1000 (the maximum value allowed) by default | No |
Parameter Name | Type | Description | Parent Node |
Bucket | String | Bucket name in the format of BucketName-APPID | None |
IsTruncated | Int | Whether the returned objects are truncated | None |
Uploads | Array | List of returned parts | None |
Upload | Array | Attributes of the returned parts | Uploads |
Key | String | Object key | Upload |
UploadId | String | ID of the multipart upload | Upload |
Initiator | String | Initiator of the multipart upload | Upload |
Owner | String | Owner of the parts | Upload |
StorageClass | String | Storage class of the parts | Upload |
Initiated | String | Initiation time of the multipart upload | Upload |
Initiate Multipart Upload
) is used to initialize a multipart upload.public Guzzle\\Service\\Resource\\Model createMultipartUpload(array $args = array());
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // Protocol header, which is http by default'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->createMultipartUpload(array('Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket'Key' => 'exampleobject',));// Request succeededprint_r($result);} catch (\\Exception $e) {// Request failedecho($e);}
Parameter Name | Type | Description | Required |
Bucket | String | Bucket name in the format of BucketName-APPID | Yes |
Key | String | Object key is the unique identifier of an object in a bucket. For example, in the object’s access domain name examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg , the Key is doc/pic.jpg . | Yes |
CacheControl | String | Cache policy | No |
ContentDisposition | String | File name | No |
ContentEncoding | String | Encoding format | No |
ContentLanguage | String | Language type | No |
ContentLength | Int | Length of the content | No |
ContentType | String | Content type | No |
Expires | String | Content-Expires | No |
Metadata | Array | User-defined file metadata | No |
StorageClass | String | Storage class of the object, such as STANDARD (default), STANDARD_IA , and ARCHIVE . For more information, see Storage Class Overview. | No |
ContentMD5 | Boolean | Whether to upload the MD5 checksum of the file for verification | No |
ServerSideEncryption | String | Server-side encryption method | No |
Parameter Name | Type | Description | Parent Node |
Bucket | String | Bucket name in the format of BucketName-APPID | None |
Key | String | Object key | None |
UploadId | String | ID of the multipart upload | None |
Upload Part - Copy
) is used to copy a part of an object.public Guzzle\\Service\\Resource\\Model uploadPartCopy(array $args = array());
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // Protocol header, which is http by default'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->uploadPartCopy(array('Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket'Key' => 'exampleobject','CopySource' => 'sourcebucket-1250000000.cos.ap-guangzhou.myqcloud.com/sourceObject','CopySourceRange' => 'bytes=0-1', // Copy only the first 2 bytes'UploadId' => 'exampleUploadId', // ID of the multipart upload, which you can get in the response returned after multipart upload initialization'PartNumber' => 1, // Sequential number of a part, which COS uses to reassemble parts));// Request succeededprint_r($result);} catch (\\Exception $e) {// Request failedecho($e);}
Parameter Name | Type | Description | Required |
Bucket | String | Bucket name in the format of BucketName-APPID | Yes |
Key | String | Object key | Yes |
UploadId | String | ID of the multipart upload, which you can get in the response returned after multipart upload initialization | Yes |
CopySource | String | Path to the source object, which contains APPID , Bucket , Key , and Region , for example, examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg | Yes |
CopySourceRange | String | Byte range of the source object to copy in the format of bytes=first-last . If no range is specified, the entire source object will be copied. | No |
PartNumber | Int | Sequential number of a part, which COS uses to reassemble parts | Yes |
ContentLength | Int | Length of the content | No |
ContentMD5 | Boolean | Whether to upload the MD5 checksum of the file for verification | No |
Guzzle\\Service\\Resource\\Model Object([structure:protected] =>[data:protected] => Array([ETag] => "96e79218965eb72c92a549dd5a330112"[LastModified] => "2017-09-04T04:45:45"[RequestId] => NWNhNDdjYWFfNjNhYjM1MGFfMjk2NF8xY2ViMWM=[CRC] => 16749565679157681890))
Parameter Name | Type | Description | Parent Node |
ETag | String | MD5 checksum of the part | None |
LastModified | String | Time when the object was last modified, in GMT format | None |
CRC | String | CRC64 check code for data verification | No |
Complete Multipart Upload
) is used to complete the multipart upload of a file.public Guzzle\\Service\\Resource\\Model completeMultipartUpload(array $args = array());
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // Protocol header, which is http by default'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->completeMultipartUpload(array('Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket'Key' => 'exampleobject','UploadId' => 'exampleUploadId','Parts' => array(array('ETag' => 'exampleETag','PartNumber' => 1,)),// ... repeated));// Request succeededprint_r($result);} catch (\\Exception $e) {// Request failedecho($e);}
Parameter Name | Type | Description | Required |
Bucket | String | Bucket name in the format of BucketName-APPID | Yes |
Key | String | Object key | Yes |
UploadId | String | ID of the multipart upload | Yes |
Parts | Array | List of parts | Yes |
Part | Array | Information of the uploaded parts | Yes |
ETag | String | MD5 checksum of the part | Yes |
PartNumber | Int | Part number | Yes |
Bucket
) and object key (ObjectKey
) to identify objects, moving an object will modify the object identifier. COS’s PHP SDK does not provide a stand-alone API to modify object identifiers. However, you can still move the object with a combination of basic operations (object copy and object delete).picture.jpg
object to the “doc” directory that is in the same bucket (mybucket-1250000000
), you can copy the picture.jpg
to the “doc” directory (making the object key doc/picture.jpg
) and then delete the source object.picture.jpg
in the mybucket-1250000000
bucket to another bucket myanothorbucket-1250000000
, you can copy the object to the myanothorbucket-1250000000
bucket first and then delete the source object.<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // Protocol header, which is http by default'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$cosClient->copy($bucket = 'examplebucket-125000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket$key = 'exampleobject',$copySource = array('Region' => '<sourceRegion>','Bucket' => '<sourceBucket>','Key' => '<sourceKey>',));$result = $cosClient->deleteObject(array('Bucket' => 'examplebucket-125000000', // Bucket name in the format of `BucketName-APPID`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket'Key' => 'exampleobject',));// Request succeededprint_r($result);} catch (\\Exception $e) {// Request failedecho($e);}
Was this page helpful?