素材牛VIP会员
thinkphp5 使用unlink()函数删除文件失败
 Jo***91  分类:PHP代码  人气:1022  回帖:1  发布于6年前 收藏

之前的操作是用户上传excel文档,我取到excel的数据并做出一些操作,我的做法是将用户上传的excel移动到public的我建立的文件夹里面去,现在我已经取到了我想要的数据,然后这个上传的excel已经无用了,所以我想删除,免得之后越来越臃肿,但是发现unlink($filename)删除文件,删除不了,dump结果返回的false,即删除失败,我的$filename定义如下:

$filename = ROOT_PATH . 'public' . DS . 'upload' . DS . 'excel'. DS . $exclePath;

然后它dump出来的路径是

我确定这个路径是对的,我就是想删除这个,is_file(),file_exists()函数返回的也是true,但是就是删除不了,我做了以下措施:
1.有人说权限问题,但我是windows的localhost本地写的代码,按理来说没有权限问题,但为了保险我还是把文件夹右键属性设置了权限为完全控制,但是删除操作仍然失败
2.fclose($filename)之后再unlink(),失败
3.有人说把‘\’换成‘/’,我试了,失败
4.换成相对路径,我在文件的同级目录建了个‘abc.txt’文件,然后unlink('./abc.txt'),删除失败
5.甚至有人说unlink前面加个@,试了,仍然失败
然后现在,特别心塞,我已经想不出还有啥办法了,望各位大神指导指导,不然要数不着觉了::>_<::

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

Lv6 码匠
qx***23 Linux系统工程师 6年前#1

先试下直接删除文件
可以删除的话就不是权限问题,或者文件正在占用
试下这个 reapath 函数

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