2014-01-13 86 views
0

我剛安裝了這個插件在我的網站和作品就像一個魅力: http://hayageek.com/docs/jquery-upload-file.phphayageek jQuery的上傳文件的插件 - 重命名重複的文件

我唯一的麻煩是與現有的文件名上傳文件時,它會覆蓋沒有任何警告/警報/重命名。

如何通過顯示消息來防止文件覆蓋,如果存在同名的文件?

想我必須採取行動對move_uploaded_file upload.php的,但我想不出如何

<?php 
//If directory doesnot exists create it. 
$output_dir = "../download/"; 

if(isset($_FILES["myfile"])) 
{ 
$ret = array(); 

$error =$_FILES["myfile"]["error"]; 


{ 

    if(!is_array($_FILES["myfile"]['name'])) //single file 
    { 
     $fileName = $_FILES["myfile"]["name"]; 
     move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir. $_FILES["myfile"]["name"]); 
     //echo "<br> Error: ".$_FILES["myfile"]["error"]; 

      $ret[$fileName]= $output_dir.$fileName; 
    } 
    else 
    { 
      $fileCount = count($_FILES["myfile"]['name']); 
      for($i=0; $i < $fileCount; $i++) 
      { 
      $fileName = $_FILES["myfile"]["name"][$i]; 
      $ret[$fileName]= $output_dir.$fileName; 
      move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName); 
      } 

    } 
} 
echo json_encode($ret); 


} 

?> 

回答

1

你可以在文件名上運行一個簡單的file_exists()您移動它來檢查,如果它存在之前,如果它你只是改變文件名到別的東西。

這裏是從鏈路採取上述的一個代碼段:

<?php 
    $img = "images/".$_FILES['bilde']['name']; 
    $t=0; 
    while(file_exists($img)){ 
    $img = "images/".$_FILES['bilde']['name']; 
    $img=substr($img,0,strpos($img,"."))."_$t".strstr($img,"."); 
    $t++; 
    } 
    move_uploaded_file($_FILES['bilde']['tmp_name'], $img); 
?>