鍍金池/ 問答/PHP/ WAMP環(huán)境中,unlink刪除文件夾下最后一個文件出錯

WAMP環(huán)境中,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訪問這個方法,發(fā)現(xiàn)可以正常運作,調(diào)用的話就會出現(xiàn)我說的問題
調(diào)用的代碼如下:

        $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;

報錯圖片如下:
圖片描述

相當奇怪,求各位高手熱心相助。

回答
編輯回答
背叛者

沒權(quán)限。。。

2017年9月1日 12:46