PHP 删除指定的目录

在 PHP 中删除目录可以使用 rmdir 函数。该函数会删除指定的目录,如果该目录非空则无法删除,需要先删除其中的文件和子目录。

以下是使用 rmdir 函数删除指定目录的示例代码

$dir = '/path/to/dir'; // 要删除的目录路径
if (is_dir($dir)) { // 如果目录存在
    $files = glob($dir . '/*'); // 获取目录下的所有文件和子目录
    foreach ($files as $file) {
        if (is_file($file)) { // 如果是文件则直接删除
            unlink($file);
        } else { // 如果是子目录则递归调用自身
            deleteDir($file);
        }
    }
    rmdir($dir); // 删除目录
}

上面代码中使用了 is_dir 函数检查目录是否存在,使用 glob 函数获取目录下的所有文件和子目录,使用 unlink 函数删除文件,使用递归调用 deleteDir 函数删除子目录,最后使用 rmdir 函数删除目录。

需要注意的是,删除操作是不可逆的,一定要谨慎操作。

<?php
// 定义要删除的文件夹路径
$dir = "/path/to/directory";

// 递归删除非空文件夹
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);
}

// 调用递归函数删除文件夹
if (deleteDirectory($dir)) {
    echo "文件夹删除成功";
} else {
    echo "文件夹删除失败";
}
?>

 

© 版权声明
THE END
喜欢就支持一下吧
点赞13
评论 抢沙发

请登录后发表评论

    暂无评论内容