问题: 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;

报错图片如下:

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


解决方案1:

没权限。。。

上一篇上传图片偶尔出现失真/损坏有什么原因呢?
下一篇thinkphp 50 怎么调用dll文件
明星图片
相关文章
《 WAMP环境中,unlink删除文件夹下最后一个文件出错》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)