Mover un directorio

      No Comments on Mover un directorio

Para una tontería que estaba haciendo he necesitado renombrar (aka mover) un directorio de una ruta a otra. Como no existe la función rename orientada a directorios, he tenido que crearla:

function path_rename ($from, $to) {
  if (is_dir($from)) {
    path_check($to, 0777);
    $exclude = ['', '.', '..'];
    foreach (array_diff(scandir($from), $exclude) as $file) {
      if (is_file($from . DIRECTORY_SEPARATOR . $file)) {
        rename($from . DIRECTORY_SEPARATOR . $file, $to . DIRECTORY_SEPARATOR . $file);
      } else {
        path_rename($from . DIRECTORY_SEPARATOR . $file, $to . DIRECTORY_SEPARATOR . $file);
      }
    }
    rmdir($from);
  }
}

No hay mucho que decir, salvo que no hace comprobaciones muy exhaustivas y hay que tener cierto cuidado al utilizarla.

ATENCIÓN: Utiliza la función path_check que he descrito anteriormente.

Leave a Reply

Your email address will not be published. Required fields are marked *