BaiduBCS::set_object_meta PHP Method

set_object_meta() public method

设置object的meta信息
public set_object_meta ( string $bucket, string $object, $meta, array $opt = [] ) : BCS_ResponseCore
$bucket string (Required)
$object string (Required)
$opt array (Optional) 目前支持的meta信息如下: Content-Type Cache-Control Content-Disposition Content-Encoding Content-MD5 Expires
return BCS_ResponseCore
    public function set_object_meta($bucket, $object, $meta, $opt = array())
    {
        $this->assertParameterArray($opt);
        $this->assertParameterArray($meta);
        $opt[self::BUCKET] = $bucket;
        $opt[self::OBJECT] = $object;
        $opt[self::METHOD] = 'PUT';
        //利用copy_object接口来设置meta信息
        $source = "bs://{$bucket}{$object}";
        if (empty($meta)) {
            throw new BCS_Exception('$meta can not be empty! And $meta must be array.', -1);
        }
        foreach ($meta as $header => $value) {
            self::set_header_into_opt($header, $value, $opt);
        }
        $source = array(self::BUCKET => $bucket, self::OBJECT => $object);
        $response = $this->copy_object($source, $source, $opt);
        $this->log($response->isOK() ? "Set object meta success!" : "Set object meta failed! Response: [" . $response->body . "]", $opt);
        return $response;
    }

Usage Example

Exemplo n.º 1
0
function file_writeBAE($file, $data) {
	global $_W;
	$file = str_replace(IA_ROOT.'/', '', $file);
	$file = $file[0] == '/' ? $file : '/'.$file;
	$pathinfo = pathinfo($file);
	$baiduBCS = new BaiduBCS($_W['config']['bae']['ak'], $_W['config']['bae']['sk']);
	$response = $baiduBCS->create_object_by_content($_W['config']['bae']['bucket'], $file, $data, array('acl' => BaiduBCS::BCS_SDK_ACL_TYPE_PUBLIC_READ));
	if ($response->isOK()) {
		$baiduBCS->set_object_meta($_W['config']['bae']['bucket'], $file, array("Content-Type" => BCS_MimeTypes::get_mimetype($pathinfo['extension'])));
		$result['success'] = true;
	}
}