<?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