用mkdir创建目录,多了一层我没有指定的目录?(已解决)

这个是thinkphp的上传设置,分别是文件名,根目录,上传目录的设置。
 $upload->saveName  =       date('YmdHis').mt_rand(1000,9999).$customerid;
 $upload->rootPath  =     "./";
 $upload->savePath  =    'Upload/Home/headpic/'.customerid.'/'; //设置附件上传目录

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

clipboard.png


问题已解决。
如图,LibraryThink下的Upload.class.php上传类文件,部分截图如下。
有个默认设置,开启了子目录,还有文件名。坑
clipboard.png
控制器设置成false即可
clipboard.png
还有,友情提示!!!
rootPath很重要!!如果你是使用默认的Uploads上传文件夹,并在根目录,可以无视此项操作。但是如果你的上传文件保存目录是根目录下的其他文件名,那么rootPath需要像上图一样设置。根据你的需求,去修改rootPath和savePath.

阅读 2.9k
2 个回答

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

tp源码中

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

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

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

Upload/Home/headpic/1/

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题