2015-06-16 113 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