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