WAMP环境中,unlink删除文件夹下最后一个文件出错

在Thinkphp中使用unlink来删除一个目录下的文件,代码如下:

public function deldir($dir = "") {
        dump($dir);
        //先删除目录下的文件:
        $dh = opendir($dir);
        while ($file = readdir($dh)) {
            if ($file != "." && $file != "..") {
                $fullpath = $dir . "\\" . $file;
                if (!is_dir($fullpath)) {
                    dump($fullpath);
                    unlink($fullpath);
                } else {
                    deldir($fullpath);
                }
            }
        }

        closedir($dh);
        //删除当前文件夹:
        if (rmdir($dir)) {
            return true;
        } else {
            return false;
        }

然而它不能删除文件夹下的最后一个文件,我试着写死路径并直接url访问这个方法,发现可以正常运作,调用的话就会出现我说的问题
调用的代码如下:

        $files = request()->file('myfile');
        $realCName = input("realCName");
        $tempArr = explode("-", $realCName);
        $account = $tempArr[0];
        $cname = $tempArr[1];

        $errorReport = "";        
        $tempDir = ROOT_PATH . 'public' . DS . 'uploads' . DS . "$realCName";
        foreach ($files as $file) {
            // 移动到框架应用根目录/public/uploads/ 目录下,并且使用原名
            $info = $file->move($tempDir, '');
            if ($info) {
            } else {
                // 上传失败获取错误信息
                $errorReport = $errorReport.$file->getError();
            }
        }

        //开始上传
        $uploadResult = $this->uploadFile($account, $cname);
        $tempArr = $uploadResult->getData();
        if ($tempArr['code'] === 0) {
            //开始删除临时文件夹
            $deleteResult = $this->deldir($tempDir);
            if($deleteResult === FALSE){
                $errorReport =$errorReport. "删除临时文件夹出错";
            }
        }
        
        return $errorReport;

报错图片如下:
图片描述

相当奇怪,求各位高手热心相助。

阅读 2k
1 个回答

没权限。。。

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