thinkphp5 使用unlink()函数删除文件失败

之前的操作是用户上传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前面加个@,试了,仍然失败
然后现在,特别心塞,我已经想不出还有啥办法了,望各位大神指导指导,不然要数不着觉了::>_<::

阅读 5.9k
2 个回答

你要删除的文件可能正在被其他进程占用

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