加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 16:01:10 所属栏目: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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读