copyObject() public méthode

拷贝一个在OSS上已经存在的object成另外一个object
public copyObject ( string $fromBucket, string $fromObject, string $toBucket, string $toObject, array $options = NULL ) : null
$fromBucket string 源bucket名称
$fromObject string 源object名称
$toBucket string 目标bucket名称
$toObject string 目标object名称
$options array
Résultat null
 /**
  * Copy a file.
  *
  * @param string $path
  * @param string $newpath
  * @return bool
  */
 public function copy($path, $newpath)
 {
     $object = $this->applyPathPrefix($path);
     $newobject = $this->applyPathPrefix($newpath);
     try {
         $this->client->copyObject($this->bucket, $object, $this->bucket, $newobject);
     } catch (OssException $e) {
         return false;
     }
     return true;
 }
Exemple #2
0
/**
 * 修改Object Meta
 * 利用copyObject接口的特性:当目的object和源object完全相同时,表示修改object的meta信息
 *
 * @param OssClient $ossClient OssClient实例
 * @param string $bucket 存储空间名称
 * @return null
 */
function modifyMetaForObject($ossClient, $bucket)
{
    $fromBucket = $bucket;
    $fromObject = "oss-php-sdk-test/upload-test-object-name.txt";
    $toBucket = $bucket;
    $toObject = $fromObject;
    $copyOptions = array(OssClient::OSS_HEADERS => array('Cache-Control' => 'max-age=60', 'Content-Disposition' => 'attachment; filename="xxxxxx"'));
    try {
        $ossClient->copyObject($fromBucket, $fromObject, $toBucket, $toObject, $copyOptions);
    } catch (OssException $e) {
        printf(__FUNCTION__ . ": FAILED\n");
        printf($e->getMessage() . "\n");
        return;
    }
    print __FUNCTION__ . ": OK" . "\n";
}