miércoles, 17 de julio de 2013

Eliminar el contenido de un directorio en PHP

Con el código que os dejo a continuación podemos eliminar fácilmente el contenido completo de un directorio mediante PHP.


function eliminarDirectorio($dir) {
 // Obtenemos un manejador del directorio
 if ($handle = opendir("$dir")) {
  $res = true;
 
  // Recorremos los archivos del directorio
  while ((($fich = readdir($handle)) !== false) && ($res)) {
   if ($fich != '.' && $fich != '..') {
    // Si el archivo es un directorio llamo recursivamente a la función
    if (is_dir("$dir/$fich")) {
     $res = eliminarDirectorio("$dir/$fich");
    } else { // Eliminamos el fichero
     $res = unlink("$dir/$fich");
    }
   }
  }
   
  // Cerramos el manejador del directorio
  closedir($handle);
   
  // Si se ha eliminado correctamente eliminamos el propio directorio
  if ($res)
   $res = rmdir($dir);
 } else {
  $res = false;
 }
  
 // Devolvemos si se ha podido eliminar el directorio por completo correctamente
 return $res;
}

No hay comentarios:

Publicar un comentario