大家看看问题出在哪儿,不能实现防止重复上传
$overwrite = 0;//是否允许覆盖相同文件,1:允许,0:不允许 
$f_input="Files";//设置上传域名称
    foreach($_FILES[$f_input]["error"] as $key => $error){ 
        $up_error="no"; 
        if ($error == UPLOAD_ERR_OK){ 
            $f_name=$_FILES[$f_input]['name'][$key];//获取上传源文件名 

            $uploadfile=$uploaddir.strtolower(basename($f_name)); 
             
            $tmp_type=substr(strrchr($f_name,"."),1);//获取文件扩展名
$tmp_type=strtolower($tmp_type);                        if (file_exists($uploadfile)&& !$overwrite){ 
                echo "<script>alert('对不起,文件 ".$f_name." 已经存在,上传失败!')</script>"; 
                $up_error="yes"; 
            } 
             $string = 'abcdefghijklmnopgrstuvwxyz0123456789';

解决方案 »

  1.   

    楼主去IT人际网上找PHP的老师问问吧,希望能帮上你更多,以后有问题可以直接在站内问他的
      

  2.   

    /// <summary>
      /// 附件保存方法
      /// </summary>
      /// <param name="UpFile">上传文件的控件</param>
      /// <param name="ConfigPath">webconfig配置的路径</param>
      /// <param name="SavePath">完整路径,默认为当前日期用//隔开的路径</param>
      /// <param name="strxml">保存文件数据xml字符</param>
      /// <param name="Msg">错误消息</param>
      /// <returns></returns>
      public bool SaveFile(HttpPostedFile UpFile, string ConfigPath, string SavePath, out string Msg,out string _realname,out string _savename,out string _filepath,out string _filedate,out string _size,out string _type)
      {
      Msg = "";
      _realname = "";
      _savename = "";
      _filepath = "";
      _filedate = System.DateTime.Now.ToShortDateString();
      _size = "";
      _type = "";
      System.Random rand = new Random();//随机数
      if (UpFile.ContentLength>0)
      {
      //检验上传文件大小
      int MaxLength = MaxMb * 1024 * 1024;
      int FileLength = UpFile.ContentLength;
      if (!ISValid(UpFile, FileLength, out Msg)) return false;
      //文件大小的处理
      string File = FileLength.ToString() + "b";
      if (FileLength >= 1024)
      {
      if (FileLength >= 1024 * 1024)
      {
      double m = System.Math.Round((float)FileLength / (1024.0 * 1024.0), 2);
      File = m.ToString() + "Mb";
      }
      else
      {
      double k = System.Math.Round((float)FileLength / 1024.0, 2);
      File = k.ToString() + "Kb";
      }
      }
      //设置附件路径
      string Dirpath = "";
      if (SavePath.Trim() != "")
      Dirpath = SavePath;
      else
      Dirpath = "\\" + DateTime.Now.Year.ToString() + "\\" + DateTime.Now.Month.ToString() + "\\" + DateTime.Now.Day.ToString() + "\\";
      string Savepath2 = System.Web.HttpContext.Current.Server.MapPath(ConfigPath) + Dirpath;
      Savepath2 = Savepath2.Replace("\\\\", "\\");
      if (!Directory.Exists(Savepath2)) //文件夹不存在 创建它
      {
      Directory.CreateDirectory(Savepath2);
      }  try
      {
      string filename = DateTime.Now.ToString("yyyyMMddHHmmss") + rand.Next(100, 999).ToString();
      string extension = System.IO.Path.GetExtension(UpFile.FileName).ToLower();
      //上传文件至服务器
      UpFile.SaveAs(Savepath2 + filename + extension);  _realname = System.IO.Path.GetFileNameWithoutExtension(UpFile.FileName).ToString();//真实名称
      _savename = filename;//保存名称
      _filepath = Dirpath;//路径
      _filedate = System.DateTime.Now.ToShortDateString();//日期
      _size = File;//文件大小
      _type = extension;//文件类型  return true;
      }
      catch (Exception ex)
      {
      Msg = ex.ToString();
      return false;
      }
      }
      else
      {
      Msg = "你指定的文件不存在!";
      return false;
      }
      }