温馨提示×

php rmdir无法删除文件夹

PHP
小樊
85
2024-07-13 19:45:22
栏目: 编程语言

PHP的rmdir函数只能删除空文件夹,如果文件夹中有文件或子文件夹,则无法删除。为了删除非空文件夹,可以使用以下方法:

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

这段代码会递归地删除文件夹中的所有文件和子文件夹,然后再删除空文件夹本身。

0