素材牛VIP会员
用mkdir创建目录,多了一层我没有指定的目录?(已解决)
 pu***wp  分类:ThinkPHP  人气:970  回帖:2  发布于6年前 收藏
这个是thinkphp的上传设置,分别是文件名,根目录,上传目录的设置。
 $upload->saveName  =       date('YmdHis').mt_rand(1000,9999).$customerid;
 $upload->rootPath  =     "./";
 $upload->savePath  =    'Upload/Home/headpic/'.customerid.'/'; //设置附件上传目录

可以看出,我设置的目录是用指定目录+用户id拼接而成的。
而实际生成的路径,最后多了一层日期。


问题已解决。
如图,LibraryThink下的Upload.class.php上传类文件,部分截图如下。
有个默认设置,开启了子目录,还有文件名。坑

控制器设置成false即可

还有,友情提示!!!
rootPath很重要!!如果你是使用默认的Uploads上传文件夹,并在根目录,可以无视此项操作。但是如果你的上传文件保存目录是根目录下的其他文件名,那么rootPath需要像上图一样设置。根据你的需求,去修改rootPath和savePath.

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv3 码奴
逆***动 PHP开发工程师 6年前#1

根据你提供的代码无法看出来,正确的路径应该是

Upload/Home/headpic/1/

但是你的customerid后面还有1个日期目录不知道是哪里拼接上去的,多贴点代码看看,第一行应该是文件名

Lv6 码匠
sh***ng 交互设计师 6年前#2

tp的文件上传类会在savepath目录下新建subName目录,将$upload->saveName设置为空

tp源码中

'subName'=>array('date', 'Y-m-d'), //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组

subName默认为日期,设置 $upload->subName = "";即可

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取