php中对上传到服务器的文件重命名

 

原代码:

$path = './upfiles/'. $_FILES['file']['name'];

$filename = basename($path);// basename($path):返回上传文件的基本的文件名,如:文件名.doc
 $actualname = $filename;
 $extpos = strrpos($filename,'.');//返回字符串filename中'.'号最后一次出现的数字位置
 $ext = substr($filename,$extpos+1);
 $studentid = $_SESSION['uid'];
 $file = $userid.'.'.$ext;//$ext是获取上传文件的后缀名,$file是新文件名(形式为$userid.后缀名)

接着调用move_uploaded_file($_FILES['file']['tmp_name'],$path)进行文件上传

 

增加功能:对上传到服务器的文件进行重命名。无论原文件的名字是什么,改后形式均为;$userid.后缀名

 

修改代码:

$path = './upfiles/'. $_FILES['file']['name'];

 $filename = basename($path);// basename($path):返回基本的文件名,如:文件名.doc
 $actualname = $filename;
 $extpos = strrpos($filename,'.');//返回字符串filename中'.'号最后一次出现的数字位置
 $ext = substr($filename,$extpos+1);
 $studentid = $_SESSION['uid'];
 $file = $studentid.'.'.$ext;
 $path = './upfiles/'.$userid.'.'.$ext;

总结:

$path = './upfiles/'. $_FILES['file']['name'];中$path构造了一个完整的路径   你可以这样理解 './upfiles/'是服务器接受上传文件的文件夹   $_FILES['file']['name']是服务器接受上传文件后将其存储的文件名,这个整体构成了上传文件在服务器的存储路径。
也就是说只要我修改了$path = './upfiles/'. $_FILES['file']['name'];里的$_FILES['file']['name'],再调用move_uploaded_file($_FILES['file']['tmp_name'],$path)
时,就会把文件移到$path指定的路径下,新文件的名字就是$path里修改后的$_FILES['file']['name']的

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值