编程语言
首页 > 编程语言> > PHP-如何在Google云端存储中存储同名文件

PHP-如何在Google云端存储中存储同名文件

作者:互联网

我正在创建一个网站,该网站上有许多用户上传的图像文件,因此随着时间的流逝,链接会在Google云存储上出现相同名称的图像,即使一个用户也可以随时间上传相同名称的图像,那么我该如何解决这个问题?

解决方法:

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

例如

$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"

标签:google-cloud-storage,php
来源: https://codeday.me/bug/20191121/2050394.html