请问为什么指定地点中会有扩展名?

来源:2-2 PHP文件上传案例实战之服务器端限制详解

weixin_慕沐1043483

2019-07-25 02:05

move_uploaded_file($fileInfo['tmp_name'],$destination):
这样的意思是把文件$fileInfo['tmp_name']移动到文件$destination
中吗?这里的$destination不应该是目录才对吗?为什么会有文件
扩展名?

$uniName=md5(uniqid(microtime(true),true)).'.'.$ext;
//echo $uniName;exit;
$destination=$path.'/'.$uniName;

if(@move_uploaded_file($fileInfo['tmp_name'],$destination)){
   echo '文件上传成功';
}else{
   echo '文件上传失败';
}


写回答 关注

1回答

  • c初见
    2019-09-04 20:10:48

    因为在移动之前声明了一个

    $destination=$path.'/'.$uniName;

    这其中的$path是函数中可变参数(老师写的是第二项),默认是./uploads

    而$uniName是老师在common中封装且在doACtion5中用require_once调用过的函数getUniName()

    所以整体拼装下来就是【($path)./uploads/($uniName)'一串随机生成的字符串,由数字和字母组成'】。

    然后我再来说一下,你的这句代码少了文件扩展名,也就是老师封装的另外一个函数 getExt()

    你把函数封装好了之后,在调用$ext之前 声明一个变量 $ext=getExt($filename).

    这样能懂不?

    c初见

    我可能跑错片场了,不过没关系,一样就行

    2019-09-04 20:12:25

    共 1 条回复 >

PHP实现文件上传与下载

本课程讲解了文件上传的原理和配置,学会两种方式实现文件上传与下载

43741 学习 · 328 问题

查看课程

相似问题