Incam_PROFIND_Web/www/protected/helpers/recursive_remove_directory.php

46 lines
884 B
PHP
Raw Normal View History

<?php
/*
* Borrado recursivo de un directorio y su contenido
*
* @param string directorio
* @param boolean Si es TRUE vacía el directorio pero no elimina
* @return boolean
*/
function recursive_remove_directory($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))
{
$handle = opendir($directory);
while (FALSE !== ($item = readdir($handle)))
{
if($item != '.' && $item != '..')
{
$path = $directory.'/'.$item;
if(is_dir($path))
{
recursive_remove_directory($path);
}else{
unlink($path);
}
}
}
closedir($handle);
if($empty == FALSE)
{
if(!rmdir($directory))
{
return FALSE;
}
}
}
return TRUE;
}
?>