如何在谷歌云存储中存储相同的名称文件

时间:2014-09-17 07:34:30

标签: php google-cloud-storage

我正在创建一个拥有大量用户上传图像文件的网站,因此,随着时间的推移链接,Google云端存储上会出现同名图像,即使一个用户可以随时上传同名图像,那么如何我可以解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

您可以做的一件事是在上传时为您的文件名添加时间戳

e.g。

$date = new DateTime();
$timeStamp = $date->getTimestamp();
$fileName = $fileName. "_" . $timeStamp;

然后,当您允许用户下载文件时,请阅读文件名并从下划线中删除最后一部分,并在URL中为用户链接指定此参数并使用原始最终名称

$service = new Google_Service_Storage($client);
$objects = $service->objects->listObjects($bucketName);

// Assuming first item you are downloading
$objects = $objects['modelData']["items"][0];
$filename = substr($objects["name"], 0, strrchr($objects["name"],"_"));
$url .= "&response-content-disposition=attachment;%20filename=.$filename"