Categories: PHPTips

Borrar un directorio de forma recursiva

En ocasiones quieres borrar desde PHP un directorio contenga lo que contenga… para esa tarea cree esta función:

function rd ($path) {
  foreach (array_diff(scandir($path), ['', '.', '..']) as $file) {
    if (is_file($path . DIRECTORY_SEPARATOR . $file)) {
      unlink($path . DIRECTORY_SEPARATOR . $file);
    } else {
      rd($path . DIRECTORY_SEPARATOR . $file);
    }
  }
  rmdir($path);
}

Hace años que la cree y por tanto seguro que es mejorable, pero cumple su función a la perfección.

Actualización (2017-02-11): Utilizo la constante DIRECTORY_SEPARATOR para construir las rutas, lo que evidentemente es más versátil y nos evitará posibles errores.

Saludos

alpha

Share
Published by
alpha
Tags: PHP

Recent Posts

Apuntes de electrónica: Condensador y Bobina en alterna

Hace ya tiempo de mi última entrada de apuntes de electrónica. Fue la entrada sobre…

4 años ago

Análisis: Multímetro Zoyi ZT-300AB

Buscando multímetros económicos encontré el Zoyi ZT-300AB, por unos 20€ tenemos un aparato más que…

4 años ago

Multímetros Zoyi, cortesía de Zotek Instruments

En mi búsqueda de multímetros interesantes encontré a un fabricante cuyos multímetros vendían varios distribuidores…

4 años ago

Los productos remarcados

Desde que la industria empezó a deslocalizar sus fabricas llevando gran parte del peso de…

4 años ago

Análisis: Pinza amperimétrica Mestek CM83C

Desde que vi por primera vez una pinza amperimétrica quise tener una. Con la aparición…

4 años ago

Silencio

De lejos nos agobia, la distancia se hace notar con el silencio, de cerca es…

4 años ago