特定のファイルとフォルダーの配列を除いて、Webホスティング上のすべてのファイルとディレクトリを削除する関数を作成しようとしています
function cleanUp($exdirs, $exfiles){
$it = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator('.'),
RecursiveIteratorIterator::CHILD_FIRST
);
foreach($it as $entry) {
if ($entry->isDir() && !in_array($entry->getBasename(), $exdirs)) {
rmdir($entry->getPathname());
}
else {
if (!in_array($entry->getFileName(), $exfiles)) {
unlink($entry->getPathname());
}
else {
$exdirs[] = dirname($entry->getFileName());
}
}
}
}
そして、この関数を次のように呼び出します
$excludeDirsNames = array('cgi-bin');
$excludeFileNames = array('.htaccess', 'ws.zip', 'update.php');
cleanUp($excludeDirsNames , $excludeFileNames);
問題は、削除してもエラーメッセージが表示されることです:Directory not empty on line rmdir($entry->getPathname());
数回。その問題を解決するにはどうすればよいですか?