/** * 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; }
/** * 修改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"; }