以递归方式删除PHP中的目录及其全部内容(文件+子目录),可以使用以下代码示例:
function delete_directory($dirname) {
if (is_dir($dirname)) {
$objects = scandir($dirname);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (is_dir($dirname . DIRECTORY_SEPARATOR . $object) && !is_link($dirname . DIRECTORY_SEPARATOR . $object)) {
delete_directory($dirname . DIRECTORY_SEPARATOR . $object);
} else {
unlink($dirname . DIRECTORY_SEPARATOR . $object);
}
}
}
rmdir($dirname);
}
}
$directory = "path/to/directory";
delete_directory($directory);
这段代码定义了一个名为delete_directory
的函数,该函数接受一个目录名称作为参数。函数首先检查该目录是否存在,如果存在,则扫描目录中的所有文件和子目录。对于每个子目录,函数递归地调用自身以删除子目录及其内容。对于每个文件,函数使用unlink
函数将其删除。最后,当目录为空时,使用rmdir
函数将目录删除。
请注意,此代码示例仅适用于PHP,并且可能需要根据您的具体需求进行修改。在使用此代码之前,请确保您已经备份了所有重要数据,并且已经获得了足够的权限来执行此操作。
领取专属 10元无门槛券
手把手带您无忧上云