大家看看问题出在哪儿,不能实现防止重复上传
$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';
$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';
/// 附件保存方法
/// </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;
}
}