<?php
/**
* Function que elimina el contenido de un directorio de manera recursiva
* Tiene que recibir:
* @param string $route directorio
* @param boolean $deleteDir determina si eliminamos el directorio inclusive
* @return integer
*/
function deleteDirectoryRecursive($route,$deleteDir)
{ //si no tiene la barra al final, se la colocamos...
if(substr($route,-1,1)!="/")
$route.="/";
//comprobamos que el directorio exista
if(file_exists($route))
{ if(is_writable($route))
{ if ($gestor=opendir($route))
{ while (false!==($archivo=readdir($gestor)))
{ if ($archivo!="." && $archivo!="..")
{ if(is_dir($route.$archivo))
{ //es un directorio
deleteDirectoryRecursive($route.$archivo,$deleteDir);
if($deleteDir)
@rmdir($route.$archivo);
}else{ //eliminamos el fichero
unlink($route.$archivo);
}
}
}
closedir($gestor);
}
if($deleteDir)
rmdir($route);
return 1;
}else{ return -2;
}
}else{ return -1;
}
}
$result=deleteDirectoryRecursive("FuentesPHP", true);
if($result===true)
{ echo "Se ha eliminado";
}else{ if($result==-1)
echo "No existe";
elseif($result==-2)
echo "No se puede acceder al directorio";
}
Comentarios sobre la versión: 1 (0)
No hay comentarios