Introducción a ES6

Exportación de datos en PHP a documentos.

Hoy vamos a explicar como exportar datos de una web con base de datos a distintos formatos de documentos.
 
Tenemos que distinguir dos tipos:
  • PDF
  • Word y Excel
 
¿Porqué distinguimos de dos tipos?
Porque para imprimir en PDF necesitaremos una una librería externa a PHP, sin embargo .doc y .xls lo vamos a convertir en las cabeceras (header()).
 
Empecemos por explicar el escenario de trabajo.
Tenemos una web que administra una base de datos que guarda preguntas y respuestas.
 
Captura1
Queremos que el administrador tenga la opción de exportar la base de datos a documentos.
 
Empecemos viendo cómo vamos a exportar estos datos.
 
Primero vamos a centrarnos por lo más sencillo.
Para ambos casos de tipos de formatos vamos a necesitar una página la cual vamos a imprimir en un documento. La vamos a llamar impresion.php.
 
Captura2
 
Crearemos un nuevo script que se va a encargar de gestionar la exportación.
En este nuevo script, lo primero que debemos hacer es comprobar el tipo de extensión
 
Captura3
Como observareis, detectamos extensiones solamente en función de .doc y .xls, ya que el siguiente paso es detectar si es PDF por el tipo.
 
Ahora solamente nos centraremos en los .doc y .xls
 
Una vez que detectamos que no es PDF, escribimos las cabeceras correspondientes.
 
Captura5 (1)
Siendo la cabecera que se va a encargar de exportar los datos:
 Captura4
 
El atributo filename, va a ser el archivo que nos va a generar, que decidimos ponerle de nompre «preguntas» y le añadimos la extensión detectada anteriormente.
 
Una vez hecho el require del documento de impresión creado antes, vamos a imprimir en .doc o en .xls.
 
Veamos el resultado: 
 Captura6
 
 
Ahora pasamos a trabajar con el formato PDF, para ello necesitaremos la libreria DOMPDF, el cual nos lo descargaremos de GitHub y lo incluiremos en nuestro script.
 
Ahora dentro de la detección del formato PDF, realizamos lo siguiente.
 Captura7
 
Como vemos, lo primero que hacemos es incluir la libreria.
Creamos la clase Dompdf para poder acceder a sus métodos.
Lo primero, es necesario cargar el HTML a imprimir, es importante añadir la ruta completa, que en mi caso es una constante que contiene:
 
«http://localhost/sabioGC/util/»
 
Una vez cargamos el HTML, renderizamos el resultado y una vez renderizamos, generamos el PDF con el título que queramos y su extensión .pdf
 
Así de simple.
 
Veamos el resultado:
Captura8 
 
Sin más, espero que os sea de ayuda.
 
Emanuel Galván Fontalba – Web Developer.
 
 

 

FTP activo Vs. FTP pasivo

Breve artículo para explicar las diferencias básicas entre los modos FTP activos y pasivos.

MODO ACTIVO
Se trata del habitual por defecto. Este modo crea dos conexiones diferentes. La primera para la transmisión de comandos desde cualquier puerto de nuestro ordenador, inferior al 1024 hacia el puerto 21 del servidor. Con esta conexión, y con el comando #port, se informa al servidor del puerto de nuestra máquina que va a escuchar los datos del servidor.

Así, para descargar un fichero, el servidor es quien inicia la transferencia de los datos, desde su puerto 20 al puerto que se le ha sido indicado. Es por eso que se le llama modo activo.

MODO PASIVO
En cambio, en pasivo es el cliente quien va a iniciar la conexión con el servidor. Lo primero se abre una conexión de control desde un puerto de la maquina local al puerto 21 del servidor. Ahora el cliente pide al servidor un puerto abierto. Una vez recibida la respuesta, es el cliente quien establece una conexión con el servidor a través del puerto que se le ha enviado.


Como conclusión, podemos decir que en el modo pasivo las conexiones se establecen por el cliente, mientras en en activo se establecen por la maquina que envía los datos.



Junto con Rafael Miranda Ibañez

TUTORIAL DE JAVA (1): Consejos y comentarios.

Antes de seguir leyendo, debes de leerte uno de los post anteriores donde explico como instalar JDK.


Consejos previos:

Antes de empezar a programar, debemos de conocer una serie de conceptos y consejos para conseguir un buen programa y código.


Lo primero que debemos plantearnos es si nuestro programa va a ser privativo o lo vamos a compartir con otros programadores.


Si decidimos que el programa va a ser privativo y no queremos que nadie lo entienda, debemos de ofuscar el código, es decir, el nombre de las variables, métodos, campos, estados, excepciones, etc, no deben de ser claros. Ejemplo:


int x; (variable que va a ser la edad)

public void metodo1(int x); (método que aumentará la edad en +1)


Tampoco se debería comentar el código ni tabular el código.


Si por el contrario decimos que el código lo vamos a compartir con otros programadores o el caso de que no nos importe que sea legible, el código ha de ser claro y conciso.


El nombre de las variables, métodos, campos, estados, etc han de estar bien escritos:


int edad;

public void cumpleanios(int edad);


En este caso el código ha de estar bien comentado y correctamente tabulado.


Conociendo el entorno de java:


– Comentarios:

Para comentar el código, debemos ver el tipo de comentario que queremos hacer.


El primero que vamos a definir es el comentario en linea (//), el comentario no puede superar una línea. Se suele usar para comentar cosas que te quedan por hacer en el código o por hacer una breve aclaración de alguna línea de código.




public void cumpleanios(int edad){

    ++edad; // incrementar en uno la edad

}


Ahora pasemos a definir el comentario en bloque(/* comentario */), el comentario suele ser grande y para no hacer varios comentarios en linea, pasamos a hacer un solo comentario pero en bloque. Suele usarse para grandes comentarios dentro del código.


public void cumpleanios(int edad){

    /* En este comentario vamos a definir este método

    comentario comentario comentario comentario

    comentario comentario comentario comentario

    comentario comentario comentario comentario */

    ++edad;

}


El siguiente comentario que vamos a definir se suele usar para hacer un comentario formal e ilustrativo de nuestro código, haciendo de resumen de éste. Este comentario va a ser javadoc (/** comentario*/)


/**

* Programa de ejemplo para comentario javadoc

*

* @autor Emanuel Galván Fontalba

* @version 1.0

*/

public class Ejemplo(){

    public static void main(String [] args){

      //codigo

      //codigo

      //codigo

    }

}


Éste comentario requerirá generarlo más adelante y se genera un documento en HTML, el cual se puede visualizar más adelante.


-Conceptos generales:


Bloque de código:

Todo lo que va en un bloque de código, irá entre llaves ({ código }).


Cerrar lineas de código:

Líneas de código que no definen un bloque de código, se cerrará con punto y coma ( ; ).


Reglas generales de sintaxis:


-En el nombre de las variables, la primera letra es en minúscula.

-En el nombre de las clases, la primera letra es en mayúscula.

-En el nombre de métodos, la primera letra es minúscula.




Tras esta pequeña introducción pasamos a programar y establecer los comentarios correctamente:


/**

* Programa que muestra por pantalla “Hola mundo”

*

* @autor Emanuel Galván Fontalba

* @version 1.0

*/

public class HolaMundo(){ //Bloque de código
    public static void main(String [] args){

      System.out.println(“Hola mundo!!”); // Muestra por pantalla en consola

    }

}



Todo esto lo ejecutamos correctamente como se indica en la entrada donde comentamos como instalar JDK.

Documentación Javadoc de Oracle: Enlace