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

查看:107
本文介绍了php - 用mkdir创建目录,多了一层我没有指定的目录?(已解决)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

这个是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.

解决方案

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

tp源码中

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

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

这篇关于php - 用mkdir创建目录,多了一层我没有指定的目录?(已解决)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆