如何在php中增加文件名以防止重复

前端之家收集整理的这篇文章主要介绍了如何在php中增加文件名以防止重复前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在许多情况下,我们需要在创建文件时使文件名不同以防止重复.最常见的答案似乎是,在最后添加时间戳或将文件名存储在数据库中,并使用这些存储的值来计算新名称.这些都是好的,但是,附加一个长时间戳并不总是非常用户友好,并且存储在数据库中并不总是一个选项.那么,如何在通过PHP创建标准文件名时自动增加标准文件名呢?
这是我为此目的编写的一个简单函数
function incrementFileName($file_path,$filename){
 if(count(glob($file_path.$filename))>0)
 {
     $file_ext = end(explode(".",$filename));
     $file_name = str_replace(('.'.$file_ext),"",$filename);
     $newfilename = $file_name.'_'.count(glob($file_path."$file_name*.$file_ext")).'.'.$file_ext;
     return $newfilename;
  }
  else
  {
     return $filename;
  }
}

用法

$newName = incrementFileName( "uploads/",$_FILES["my_file"]["name"] );
move_uploaded_file($_FILES["my_file"]["tmp_name"],"uploads/".$newName);

猜你在找的PHP相关文章