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 years ago

Review: Zoyi ZT-300AB Multimeter

Looking for cheap multimeters I found the Zoyi ZT-300AB, for about €20 we have a…

4 years ago

Zoyi multimeters, courtesy of Zotek Instruments

In my search for interesting multimeters I came across a manufacturer whose multimeters were sold…

4 years ago

Los productos remarcados

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

4 years 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 years ago

Silencio

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

4 years ago