jueves, 5 de marzo de 2015

Tratamiento de Fechas Unix Timestamp en Mysql



En Mysql, podemos almacenar fechas en formato Unix Timestamp. La fecha/hora se almacena en número de segundos transcurridos desde el 1 de Enero de 1970 hasta el momento y es utilizado por multitud de plataformas , como por ejemplo Moodle.


Un ejemplo de dato podría ser:

1425580975

que correspondería con la fecha / hora: 2015-03-05 19:42:55

Podemos formatear este campo de fecha, en un formato comprensible, utilizando from_unixtime en Mysql de la siguiente forma:

select  id,denominacion,from_unixtime(time) as fecha from datos;

Utilizando PHP, también podríamos obtener la fecha en curso a partir de una fecha en formato Unix:

<?php
$unixtimestamp= "1425580975";
$anio = date("Y",$unixtimestamp);
$mes = date("m",$unixtimestamp);
$dia = date("d",$unixtimestamp);
echo "$anio-$mes-$dia";
?>


lunes, 2 de marzo de 2015

Comprimir y descomprimir archivos ZIP con PHP



En este tip vamos a ver como generar un archivo .zip a partir de uno o una serie de archivos que tengamos en nuestro servidor, mediante la función ZipArchive de PHP. También mostraremos el código, para descomprimir archivos .zip en nuestro servidor utilizando la función extractTo.

ComprimirArchivos.php

<?php
//Creamos un nuevo archivo .zip
$ArchivoZip = new ZipArchive();
//Le asignamos un mombre
$nombreZip = 'archivocomprimido2.zip';
//Abrimos el zip,
if($ArchivoZip->open($nombreZip,ZIPARCHIVE::CREATE)===true) {
//Añadimos el/los archivos que deseamos al .zip
$ArchivoZip->addFile('imagen1.jpg');
$ArchivoZip->addFile('imagen2.jpg');
//Cerramos el archivo .zip y concluimos
$ArchivoZip->close();
echo "Zip creado correctamente";
}
else
{
echo "Error generando el ZIP";
}
?>




Extraer archivos de un fichero comprimido en el servidor

Para descomprimir y extraer archivos de un fichero .zip subido a nuestro servidor, utilizaremos en este caso la función extractTo, de manera casi análoga a la anterior.

<?php $nombreZip = "archivocomprimido2.zip";
$ArchivoZip = new ZipArchive();
if($ArchivoZip->open($nombreZip) === true )
{
$ArchivoZip->extractTo("directoriozip");
echo "El archivo ZIP ha sido descomprimido correctamente";
}
else {
echo "Se ha producido un error al extraer los archivos";
}
?>