php rmdir無(wú)法刪除文件夾

PHP
小樊
85
2024-07-13 19:45:22

PHP的rmdir函數(shù)只能刪除空文件夾,如果文件夾中有文件或子文件夾,則無(wú)法刪除。為了刪除非空文件夾,可以使用以下方法:

function deleteDirectory($dir) {
    if (!file_exists($dir)) {
        return true;
    }

    if (!is_dir($dir)) {
        return unlink($dir);
    }

    foreach (scandir($dir) as $item) {
        if ($item == '.' || $item == '..') {
            continue;
        }

        if (!deleteDirectory($dir . DIRECTORY_SEPARATOR . $item)) {
            return false;
        }
    }

    return rmdir($dir);
}

// 使用方法
$dir = 'path_to_directory';
deleteDirectory($dir);

這段代碼會(huì)遞歸地刪除文件夾中的所有文件和子文件夾,然后再刪除空文件夾本身。

0