在Google云端存储对象上设置Cache-Control php客户端

时间:2015-08-26 13:35:15

标签: php google-cloud-storage cache-control

我遇到了这个问题,无法在网上找到一个简单的工作php示例,可以在上传到谷歌云存储时设置对象缓存控制。我知道它在对象上有一个setMetadata,但我迷失了怎么做。使用gsutil并不会削减它,因为它对于Web应用程序来说不是动态的。

到目前为止,这就是我所拥有的,但setMetadata行会引发错误。任何人都可以帮助纠正这条线吗?请注意,在下面的

之前已经获得了授权令牌
$file = "xxx.html";
$infotowrite = "999";
$service = new Google_Service_Storage($client);
$obj = new Google_Service_Storage_StorageObject();
$obj->setName($file);
$obj->setMetadata(['cacheControl' => 'public', 'max-age' => '6000']);
$results = $service->objects->insert(
     $bucket_name,
     $obj,
     ['name' => $file, 'mimeType' => 'text/html', 'data' =>   $infotowrite, 'uploadType' => 'media']
    );

1 个答案:

答案 0 :(得分:3)

我想你想打电话给setCacheControl function

这是一个有效的例子:

$bucket_name = 'my-bucket';
$file = "xxx.html";
$infotowrite = "999";
$service = new Google_Service_Storage($client);
$obj = new Google_Service_Storage_StorageObject();
$obj->setName($file);
$obj->setCacheControl('public, max-age=6000');
$results = $service->objects->insert(
        $bucket_name,
        $obj,
        ['name' => $file, 'mimeType' => 'text/html', 'data' =>   $infotowrite, 'uploadType' => 'media']
);