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