第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

刪除文件夾和所有內(nèi)部內(nèi)容函數(shù)返回“目錄非空”

刪除文件夾和所有內(nèi)部內(nèi)容函數(shù)返回“目錄非空”

PHP
ibeautiful 2021-10-15 16:31:20
下面是我嘗試刪除文件夾及其所有內(nèi)容的嘗試。文件夾可能包含 zip 文件和帶有文件的文件夾。public function deleteFolder($dir){    if(file_exists($dir)){        $it = new \RecursiveDirectoryIterator($dir, \RecursiveDirectoryIterator::SKIP_DOTS);        $files = new \RecursiveIteratorIterator($it,                         \RecursiveIteratorIterator::CHILD_FIRST);        foreach($files as $file) {            if ($file->isDir()){                rmdir($file->getRealPath());            } else {                unlink($file->getRealPath());            }        }        rmdir($dir);    }           }但它返回以下錯誤:rmdir(C:\Juliver\UIUX\pd-loader\loader/temp/utso-pulgada-pd-loader-5066a7e0298a):第 95 行 C:\Juliver\UIUX\pd-loader\loader\Patcher.php 中的目錄不為空line 95指向rmdir($dir);線如果我檢查文件夾utso-pulgada-pd-loader-5066a7e0298a,我會看到它已經(jīng)是空的,但它會拋出上述錯誤。
查看完整描述

3 回答

?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個贊

$dirname = 'C:/Users/Admin/Desktop/test';

array_map('unlink', glob("$dirname/*.*"));

rmdir($dirname);

試試這個,這會刪除文件夾中存在的所有文件,還有那個文件夾


查看完整回答
反對 回復(fù) 2021-10-15
?
臨摹微笑

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個贊

目錄可能包含其他目錄,因此您必須使用遞歸函數(shù)。


function removeDir($path) {

    $files = glob("$path/*");

    foreach ($files as $file) {

        if (is_dir($file)) {

            removeDir($file);

        } else {

            unlink($file);

        }

    }


    rmdir($path);

}

現(xiàn)在足以調(diào)用 removeDir("/my/nice/path"); 如果您看到該目錄已經(jīng)為空,請嘗試檢查隱藏文件并確保您具有正確的權(quán)限。


查看完整回答
反對 回復(fù) 2021-10-15
?
尚方寶劍之說

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個贊

我懷疑您已經(jīng)檢查過它不是文件權(quán)限問題。由于您的代碼適用于我而不適用于您,這讓我想知道它是否與 PHP 文件統(tǒng)計或真實(shí)路徑緩存有關(guān)。

取消鏈接文件應(yīng)自動清除單個文件的統(tǒng)計緩存。但是,以前已知PHP 錯誤會導(dǎo)致 rmdir 出現(xiàn)此問題。

嘗試在 foreach 塊中的 rmdir 語句之后執(zhí)行clearstatcache。

以前我使用過 glob (在其他答案中提到過)所以我不知道 RecursiveDirectoryIterator 如何重新處理文件句柄;作為一個長期嘗試,嘗試unset($files); unset($it)在您的最終 rmdir 之前銷毀這些對象 ( )。


查看完整回答
反對 回復(fù) 2021-10-15
  • 3 回答
  • 0 關(guān)注
  • 141 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號