在 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
暂无评论内容