ANUNCIOS

miércoles, 10 de mayo de 2017

Copiar Archivos Robocopy


RoboCopy


Una manera fácil y útil de mover grandes volumenes de archivos de una unidad a otra o incluso a otro equipo en nuestra red es usando el comando RoboCopy



Con el comando ROBOCOPY /S podemos copiar todos los archivos incluidos en la carpeta "UNIDAD D" a "DATOS" incluyendo subcarpetas. NOTA: Esta opción excluye directorios vacíos.


El resultado sería algo así:



Algunas características son: 

Robocopy destaca por superar en funcionalidades a los comandos incluidos en Windows (COPY y xcopy) y además:

  • Puede tolerar cortes de red y continuar la copia por donde la había dejado (los ficheros incompletos se marcan con la fecha 01/01/1980 y contienen un registro de recuperación para que Robocopy sepa por dónde continuar).
  • Puede copiar correctamente atributos, información del propietario, flujos alternos de datos (ADS), información de auditoría y fechas por defecto, sin la necesidad de utilizar los engorrosos parámetros de los comandos.
  • Puede copiar la ACL de NTFS, (si se añade el parámetro /COPYALL /SEC), y hacer valer el "derecho de copia de seguridad" de Windows NT (/B) para que un administrador pueda copiar un directorio completo, incluyendo aquellos ficheros cuya lectura está denegada al administrador.
  • Persistencia por omisión, con un número programable de reintentos automáticos si no se puede acceder a un archivo.
  • Dispone de un modo "espejo", que mantiene la arborescencia sincronizada borrando archivos del destino, opcionalmente, si ya no están en el origen.
  • Puede copiar grandes cantidades de ficheros que harían que con la utilidad XCOPY no se consiguiera.
  • Tiene un indicador de progreso que la línea de comandos que se actualiza continuamente.
  • Puede copiar archivos y carpetas con nombres largos que superen los 256 caracteres - hasta un máximo teórico de 32.000 - sin errores.
  • Soporta copiado multihilo (sólo en Windows 7).

NOTA: Robocopy no puede copiar archivos abiertos en uso por otros usuarios o aplicaciones.

Se puede incluso hacer un archivo .BAT y por medio del programador de tareas de windows ejecutarlo en un día y una hora especifica. 

Fuente:

lunes, 8 de mayo de 2017

Obtener ID por URL CodeIgniter PHP





Una manera de obtener un ID por medio de las url en CodeIgniter es con la librería  URI que viene cargada automáticamente cuando trabajamos con CI, así que no necesitaremos incluirla en nuestro autoload.

La librería URI provee funciones que nos ayudan a recuperar información de las cadenas URI. Si usa ruteo URI, también podemos recuperar información acerca de los segmentos re-ruteados.

$this->uri->segment(n); // Donde n es el número de segmento que queremos recuerar.
Ejemplos de los segmentos de una URL:

 http://miproyecto.com/index.php/noticias/deportes/350

Los números de segmentos son: 

  1. noticias
  2. deportes
  3. 350 
Si quisiéramos acceder al segmento 2 utilizamos $this->uri->segment(2); 

La función por defecto devuelve FALSE si el segmento no existe. Existe un segundo parámetro opcional que le permite establecer su valor por defecto si falta el segmento. 

Por ejemplo, esto le diría a la función que devuelva el número 0 en caso de falla:

$idProducto = $this->uri->segment(3, 0);

 Esto ayuda a evitar tener que codificar algo así:

 if ($this->uri->segment(3) === FALSE) {
 $idProducto = 0;
 } else {
 $idProducto = $this->uri->segment(3); } 

Espero les sirva la información compartida, solo fue un ejemplo sencillo de su uso, para mas información les dejo el enlace de la documentación de la librería URI

miércoles, 3 de mayo de 2017

Fecha y Hora actual en CodeIgniter




FECHA Y HORA ACTUAL CODEIGNITER


Para utilizar las funciones del helper, debemos cargarla en el autoload que encontramos en la ruta 'application/config/autoload.php' buscamos la linea para modificar el helper y le asignamos el valor 'date', de esta manera:

$autoload['helper'] = array('date');


Para definir la zona horaria del helper, podemos utilizar la función:
date_default_timezone_set('America/Santiago');  //En mi caso utilizo la de Chile


La ruta donde vamos a definir el timezone es la siguiente:
 'system/helpers/date_helper.php' así:  




Listado de TimeZones de toda América.



OBTENER EL DÍA ACTUAL



# Día del mes con 2 dígitos, y con ceros iniciales, de 01 a 31
date("d");
# Día del mes, sin ceros iniciales, de 1 a 31
date("j");
# Día de la semana en inglés, con 3 letras, de Mon a Sun
date("D");
# Día de la semana en inglés, de Sunday a Saturday
date("l");
# del día de la semana, desde 1 (lunes) hasta 7 (domingo)
date("N");
# Sufijo del día del mes con 2 caracteres --> st, nd, rd o th
date("S");
# Número entero que representa el día de la semana, de 0 (dom) a 6 (sab)
date("w");
# Día del año, de 0 a 365
date("z");


OBTENER EL NÚMERO DE LA SEMANA

date("W");

OBTENER EL MES ACTUAL


# Mes actual en inglés
date("F");
# Mes actual en 2 dígitos y con 0 en caso del 1 al 9, de 1 a 12
date("m");
# Mes actual en texto en 3 dígitos en inglés, de Jan a Dec
date("M");
# Mes actual en dígitos sin 0 inicial, de 1 a 12
date("n");
# Número de días del mes actual, de 28 a 31
date("t");

OBTENER AÑO ACTUAL

# Año actual con 4 dígitos, Ejp: 2013
date("Y");
# Año actual con 2 dígitos, Ejp: 13
date("y");

OB TENER HORA, MINUTOS, SEGUNDOS


# Antes del mediodía, después del mediodía, am o pm en minúsculas
date("a");
# Antes del mediodía, después del mediodía, AM o PM en mayúsculas
date("A");
# Horario de 12 horas sin ceros, de 1 a 12
date("g");
# Horario de 12 horas con ceros, de 01 a 12
date("h");
# Horario de 24 horas sin ceros, de 0 a 23
date("G");
# Horario de 24 horas con ceros, de 01 a 23
date("H");
# minutos con ceros iniciales
date("i");
# segundos con ceros iniciales
date("s");

Para imprimir utilizamos:


echo date('d - m - Y h:i:s');


Espero les sirva de ayuda, cuando recién empecé a manejar fechas con CodeIgniter y Mysql tuve varios dolores de cabeza. 

Aclaro que la función date() es nativa de php pero CI la incorpora en su helper


Enlaces: