如果我想删除空目录,我收到以下错误:
警告:rmdir():目录不为空
功能:
if (is_dir($target)) {
$files = glob($target . '*', GLOB_MARK); //GLOB_MARK adds a slash to directories returned
foreach ($files as $file) {
$this->delete_files($file);
}
rmdir($target);
} elseif (is_file($target)) {
unlink($target);
} else {
$this->logger->error("Could not delete the folder");
}
当有文件时,它会在没有警告的情况下删除所有内容(也应该删除文件夹)
答案 0 :(得分:2)
尝试这样的事情。
<?php
function delete_directory($target) {
if (is_dir($target))
$dir_handle = opendir($target);
if (!$dir_handle)
return false;
while($file = readdir($dir_handle)) {
if ($file != "." && $file != "..") {
if (!is_dir($dirname."/".$file))
unlink($dirname."/".$file);
else
delete_directory($target.'/'.$file);
}
}
closedir($dir_handle);
rmdir($target);
return true;
}
?>
希望这有帮助。
答案 1 :(得分:2)
要么你能这样做。
function delTree($dir)
{
$files = glob( $dir . '*', GLOB_MARK );
foreach( $files as $file
{
if( is_dir( $file ) )
delTree( $file );
else
@unlink( $file );
}
if( is_dir($dir) ) rmdir( $dir );
};