12.176 cursos gratis
8.741.808 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Webs dinámicas con PHP

Autor: Álvaro del Castillo
Curso:
8,54/10 (119 opiniones) |13972 alumnos|Fecha publicación: 10/09/2004

Capítulo 7:

 PHP para desarrollo de aplicaciones web (I)

En esta lección vamos a mirar con más detenimiento PHP, sus funciones y para que lo podemos utilizar. En concreto nos vamos a centrar en las características de PHP principales, detalladas dentro del propio manual de PHP:

-Creación de imágenes GIF gracias a la librería GD
-El uso de las polémicas "cookies" desde PHP
-La autenticación de usuarios utilizando HTTP
-La subida de ficheros utilizando HTTP


Estos temas se tratan en los capítulos 15,16,17 y 18 del manual de PHP, aunque aquí vamos a intentar darle un enfoque más práctico que el que da dentro del manual de referencia de PHP. En todos los casos vamos a poner ejemplos de aplicaciones reales que podrían aprovechar estas características de PHP y vamos a analizar los problemas y ventajas de cada una de ellas. Una vez cubiertas estas funcionalidades básicas, podremos comenzar en futuras entregas a lanzarnos con todas las demás librerías para acceso a servidores LDAP, IMAP etc. que nos proporciona PHP.

Una de las grandes novedades de PHP ha sido la publicación el día 22 de Mayo de PHP4 de forma oficial. A partir de ahora veremos un gran bombardeo de información sobre PHP, su nuevo interprete Zend y el alto rendimiento que se logra con esta nueva versión.

Sin más dilación comenzamos a desglosar los diferentes puntos de esta entrega, esperando que disfrutéis con la potencia y flexibilidad que ofrece PHP a todos los desarrolladores.

Creación de imágenes GIF desde PHP.- Uno de los temas más importantes a la hora de construir un sitio web en Internet de calidad es el aspecto gráfico. Un mal diseño gráfico, demasiado recargado, con un incorrecto uso de colores, o demasiado pesado (imágenes de muchos kilo-bytes) puede echar por tierra todo una estupenda idea.

En Internet es difícil lograr que los navegantes caigan por tu página y si lo hacen, es vital que lo que encuentren les llame la atención lo suficiente como para volver de nuevo allí, y conocer más en profundidad que se le ofrece.

Otro aspecto fundamental es la renovación de la información del sitio web, teniendo mucho cuidado de mantener una imagen identificativa del sitio, ya que si no es difícil lograr que el navegante pueda llegar a sentirse a gusto en el lugar.

Tanto en el aspecto gráfico como en el de renovación PHP tiene una funcionalidad muy potente: la creación de GIF "al vuelo" ( on the fly). La idea es que los GIF no existen como ficheros en el disco duro del servidor de web, sino que es el propio PHP el que los genera a partir de información que recibe cuando el usuario acude a la página. De esta forma podemos presentar información gráfica dinámica. Un ejemplo de esta funcionalidad sería la generación de números para informar del número de accesos que ha tenido una página.

Otros usos podrían ser el envío a través de un formulario de un conjunto de datos numéricos y la obtención de gráficas de dichos datos en diferentes formatos.

Otro posible servicio podría ser el permitir que usuarios nos enviaran imágenes "no transparentes" y convertirlas en transparentes utilizando las llamadas PHP para el tratamiento de imágenes. Generalizando, la librería de PHP para el tratamiento de GIF permiten montar una serie de servicios y funcionalidades a nivel gráfico que podemos utilizar para lograr una flexibilidad y potencia muy grandes.

Después de esta pequeña introducción a las posibilidades de la tecnología vamos a ver como se utiliza, la API de estas funciones de tratamiento de imágenes, y que es necesario tener instalado.

PHP utiliza para este tratamiento de imágenes la librería GD de la empresa Boutell.Com, creada por Thomas Boutell, autor original de GD. Esta es una librería que se creó inicialmente con el objetivo del tratamiento de GIF. Es necesario que la tengas instalada en tu sistema. El módulo de PHP de Red Hat incluye por defecto esta librería en PHP así que te habrá obligado el sistema a instalar GD antes de poder instalar el módulo de PHP. Si tienes otra distribución tendrás que investigar un poco más, pero lo común será que si tienes instalado PHP, tendrás instala también esta librería. Es importante destacar que se eliminó de GD el algoritmo de compresión LZW, que había implementado David Rowley, que aunque proporciona mejores resultados que el actual, tiene el grave problema de la patente software que tiene sobre el Unisys, y que obliga a pagar miles de dolares por su utilización. Aprovecho esta ocasión para recomendar al lector que profundice sobre el serio problema que constituyen las patentes software para los desarrolladores, y en especial para los desarrolladores de software libre, y le invitó a que visite el web de noticias barrapunto.com y busque información sobre las patentes software. Es un tema muy delicado y que aún en Europa no se ha impuesto.

Imaginemos que tenemos en nuestro sistema instalado PHP, con soporte para GD (la mejor forma de asegurarse es con la información de respuesta de la llamada a la función phpinfo()) y que queremos empezar a trabajar. El ejemplo más sencillo será abrir una imagen GIF ya existente en el disco y mostrarla tal cual al usuario. Está claro que esto no tiene mucho mérito, es lo que hace el servidor de web sin ayuda de PHP, pero es un buen comienzo para lo que va a seguir.

Para lograr este objetivo, el programa PHP es:

// En la cabecera HTTP indicamos que lo que devolvemos es una imagen
// de tipo GIF. Para ello utilizamos el tipo MIME: image/gif
Header("Content-type: image/gif");
// Creamos la imagen a partir de un fichero existente
$im = imagecreatefromgif("images/e3_1.gif");
// Mostramos la imagen
ImageGif($im);
// Liberamos la memoria que ocupaba la imagen
ImageDestroy($im);

Como véis hasta ahora el código es muy sencillito. Se crea un imagen nueva a partir de un GIF que ya existía, se envía al cliente para que esta la pueda visualizar, y se destruye para liberar toda la memoria que pudiera ocupar, que tratándose de imagenes puede ser mucha.

Vale, lo básico ya lo sabemos. Pasemos a ver como a partir de una imagen poder pintar encima de ella. En el manual de PHP nos ponen como ejemplo de funcionalidad que, a partir de un GIF de un botón, se puede ir superponiendo texto. De esta forma ahorraríamos el trabajos de hacer decenas de botones iguales, pero con un texto diferente. Y si queremos cambiar el tipo de botón para todo el web, bastará con cambiar una sola imagen. Si, si ya se que estas pensando en que esto es una idea excelente para poder tener temas diferentes y que cambien a gusto del usuario o del maestro del web. Veamos el código que nos permite lograr esto.

Supongamos que tenemos una página HTML que para poner los botones utiliza <img src="boton.php3?texto_boton=abrir"> Cada vez que se ponga un botón se va a llamar al programa PHP "boton.php3" y se le va a pasar utilizando el método GET el texto a visualizar en el botón. El contenido de boton.php3 es:

Header("Content-type: image/gif");
$im = imagecreatefromgif("images/e3_boton.gif");
$orange = ImageColorAllocate($im, 220, 210, 60);
$px = (imagesx($im)-7.5*strlen($texto_boton))/2;
ImageString($im,3,$px,9,$texto_boton,$orange);
ImageGif($im);
ImageDestroy($im);

Creamos con GIMP una imagen de 50x50 pixels, la llenamos con el colore que más nos guste, el aplicamos a través de "Script-fu" y la opción "Decor" un "Bevel" (un relieve) y guardamos dicha imagen como nuestro botón (e3_boton.gif).

PHP para desarrollo de aplicaciones web (I)


En el código PHP abrimos esta imagen. Luego creamos un color (naranja) utilizando la función ImageColorAllocate de GD. A continuación echamos cuentas de las dimensiones que ha de tener la cajita para poner el texto. Con la función ImageString ponemos el texto sobre la imagen y ya lo tenemos. Sólo nos queda visualizarla y liberar los recursos ocupados una vez que la imagen se ha enviado al cliente.

PHP para desarrollo de aplicaciones web (I)


¿Qué más podemos hacer con la librería GD? Pues en el manual de PHP en la sección XXIII tenemos todas las funciones de la librería GD disponibles en PHP. Podemos dibujar pixels, arcos, imprimir caracteres, trazar líneas continuas o discontinuas, crear polígonos, rectangulos, llenarlos con colores...

Para los amantes de las fuentes en las cadenas de textos, la librería proporciona funciones par cargar fuentes de tipo Postscript y fuentes True Type. Para estas últimas además de GD es necesaria la librería FreeType.

Resumiendo, las posibilidades que brindan estas funciones son múltiples y potentes. El lector puede pensar ahora en las necesidades de su entorno y ver como puede aplicar esta librería para resolverlas.

Capítulo anterior - PHPLIB (II)

Nuestras novedades en tu e-mail

Escribe tu e-mail:



MailxMail tratará tus datos para realizar acciones promocionales (vía email y/o teléfono).
En la política de privacidad conocerás tu derechos y gestionarás la baja.

Cursos similares a Webs dinámicas con PHP



  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. Curso de MySQL con PHP
El gestor de bases de datos MySQL se basa en el sistema de bases de datos... [10/01/11]
1.754  
2. Programación de sistemas con PHP
En el presente tutorial mostramos como programar los módulos básicos de cualquier... [13/07/11]
294  
3. PHP, HTML y MYSQL. Guía básica
PHP , HTML y MYSQL . Este curso básico de programación te enseñará una manera... [18/11/09]
3.217  

¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail