我想删除一些目录,并将其名称存储在名为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
。
问题是什么?
答案 0 :(得分:2)
此功能删除包含
内文件的目录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);
}