PHP,删除目录


PHP, remove directories

我想删除一些目录,并将它们的名称存储在一个名为folders的数组中。

foreach ($folders as $f){
    rmdir($dir);
    $dir=rtrim($dir,"/");
    $dir=rtrim($dir,$f);
}

例如:

dir: /cdf5/gfft/
and folders: gftt,cdf5

我看到有时rtrim函数剪切了4个以上的字符,而dir中剩下的路径是:/cdf

怎么了?

此函数删除中包含文件的目录

function deldirectory($dir){
$tfile = new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS);
$files = new RecursiveIteratorIterator($tfile,
             RecursiveIteratorIterator::CHILD_FIRST);
foreach($files as $file) {
    if ($file->isDir()){
        rmdir($file->getRealPath());
    } else {
        unlink($file->getRealPath());
    }
}
return rmdir($dir);
}

然后你可以调用这个函数

foreach ($folders as $f){
    deldirectory($f);
}