[eluser]peterzup[/eluser]
Hello i need some help. I have function which delete map/submap,files etc.. but problem is that deletes all map in directory. If i have in map backup mapes with name backup1,backup2,backup3.... and if i want to delete backup1 it deletes wholl directory, soo no backup maps left, any ideas? Here is code:
Code:
function deleteAll($directory, $empty = false) {
if(substr($directory,-1) == "/") {
$directory = substr($directory,0,-1);
}
if(!file_exists($directory) || !is_dir($directory)) {
return false;
} elseif(!is_readable($directory)) {
return false;
} else {
$directoryHandle = opendir($directory);
while ($contents = readdir($directoryHandle)) {
if($contents != '.' && $contents != '..') {
$path = $directory . "/" . $contents;
if(is_dir($path)) {
$this->deleteAll($path);
} else {
unlink($path);
}
}
}
closedir($directoryHandle);
if($empty == false) {
if(!rmdir($directory)) {
return false;
}
}
return true;
}
}
I call function with:
$dir = './backups/htdocs/' . $date .'/';
$this->deleteAll($dir,true);