是否有一些 API/库可以移动或复制文件,然后在与目标中存在的另一个文件发生冲突时可以选择重命名新文件?
我正在使用瓦坎达,并且有一个具有moveTo方法的文件API。这个方法有一个参数,如果我们传递true
或'Overwrite
'和false
或'KeepExisting
',则overwrite
。这种方法忘记了一个选项,这是处理文件时的经典选项,是:"KeepBoth
"。这意味着它将使用计数器重命名新文件。
现在,我在文件末尾添加一个 UUID。
我想知道当我们在发生冲突时需要移动和重命名时,其他 API 如何处理这种情况。
通常你会使用 ajax 并调用服务器端脚本来检查文件是否存在。您可以在文件名中添加一个数字以防止冲突。
PHP示例
$path = "link/to/path";
$chk = $path;
$i = 0;
while (file_exists($chk)){
$chk = $path.$i
$i++;
}
如果你想覆盖它,你只需使用
file_put_contents($path, $content);