2015-06-16 76 views
0

是否有一些API /库移动或复制文件,然后有一个选项来重命名新文件,如果与目标中存在的另一个文件发生冲突?如何移动/复制文件并重命名冲突

我正在使用Wakanda,并且有一个File API它有一个moveTo方法。如果我们通过true或'Overwrite'和false或'KeepExisting',此方法的参数为overwrite。这种方法忘记了一个选项,这是处理文件时的一个经典,它是:'KeepBoth'。这意味着它会用计数器重新命名新文件。

现在,我在文件末尾添加一个UUID。

我想知道其他API如何处理这种情况下,当我们需要移动和重命名的情况下发生冲突。

回答

1

通常情况下,您将使用ajax并调用服务器端脚本来检查文件是否存在。您可以在文件名中添加一个数字以防止冲突。

PHP例如

$path = "link/to/path"; 
$chk = $path; 
$i = 0; 

while (file_exists($chk)){ 
    $chk = $path.$i 
    $i++; 
} 

如果要覆盖它,你会简单地使用

file_put_contents($path, $content); 
+0

谢谢,这个例子是良好的PHP。我的问题是关于服务器端的JavaScript。 我在'file_put_contents'方法中看到,有一个'FILE_APPEND'参数将会重命名文件。这正是我正在寻找的一种参数,在现有的API – Ganbin

+0

服务器端js意味着您使用nodejs? –

+0

不,我使用Wakanda – Ganbin