hayageek jQuery上传文件插件 - 重命名重复文件

时间:2014-01-13 15:56:20

标签: jquery file-upload

我刚刚在我的网站上安装了这个插件,就像一个魅力: http://hayageek.com/docs/jquery-upload-file.php

我唯一的麻烦是,在上传具有现有文件名的文件时,它会覆盖而不会发出任何警告/警告/重命名。

如果存在具有相同名称的文件,如何通过显示消息来阻止文件覆盖?

认为我必须对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 个答案:

答案 0 :(得分: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);
?>