no=13 Librería GD | Ixon hosting

Librería GD

Dificultad: Fácil

GD es una librería de código abierto para la creación dinámica de imágenes. GD está escrita en C y se puede usar con lenguajes como Perl, PHP, etc.  

GD crea archivos PNG, JPEG y GIF entre otros formatos a partir de una imagen original. Es comúnmente utilizada para crear gráficas e imágenes miniatura partiendo de una imagen a tamaño normal en tiempo real. 


La librería GD está instalada por omisión en nuestros equipos.
Puedes usarla libremente para tus desarrollos con php, o perl-cgi.

Para mayores informes en su utilización consulta:
GD library.

Una clase muy frecuentada y excelente recurso para la manipulación de imágenes para los programadores en PHP es PHP Thumb: pueden visitarla en PHP Thumb.

Te mostramos un ejemplo de cómo aplicar la librería GD en tu aplicación:

Crea una nueva forma en tu página.

Si tienes una forma en la cual quieres subir imágenes al servidor o haz creado una nueva forma de cero, sigue los siguientes pasos:

Asegúrate que tengas el código para una forma en tu página:

<form> Contenido de tu forma </form>

Una vez que tienes tu forma deberás poner dentro de ella, el o los siguientes campos:

<input name="ejemplo_imagen" type="file" id="ejemplo_imagen" size="20" /> 


Este campo permite que el usuario seleccione un archivo para subir al servidor.

En tu forma, agrega el campo:

<input name="ejemplo_imagen" type="file" id="ejemplo_imagen" size="20" /> 


Donde:

El atributo nombre (name) y el atributo id de tu campo recién creado para este ejemplo es: 'ejemplo_imagen'.

El tipo (type) tiene que ser siempre 'file' para que sea reconocido por tu navegador como un campo al que quieres preguntar por un archivo en específico en tu computadora el cual vas a subir al servidor.


El tamaño (size) es el ancho del campo que quieras darle de acuerdo a tu diseño.

Crea una nueva página en formato PHP y establece tu conexión a tu base de datos.

Por ejemplo:

<?php

$hostname_con1 = "localhost";
$database_con1 = "tu base de datos";
$username_con1 = "tu nombre de usuario para la base de datos";
$password_con1 = "tu contrase?a";
$con1 = mysql_pconnect($hostname_con1, $username_con1, $password_con1) or trigger_error(mysql_error(),E_USER_ERROR); 
?>

$con1 es un ejemplo de la conexión que puedas tener. Pero puedes denominarla como quieras.


Si ya tienes tu base de datos y tienes tu forma en tu página, lo siguiente es decirle al php qué hacer con el resultado que recibe de tu forma ($_POST['ejemplo_imagen']

 

$_POST['imagen'] es el dato que tu página debe recibir cuando envíes tu forma.
 


En tu código php:

 

if (move_uploaded_file($_FILES['foto']['tmp_name'], "../imagenes/imagen.jpg")) {

//Si la imagen subi, haz cosas...
}


Donde: 

imagenes: es la carpeta donde serán almacenadas tus imágenes, generalmente con permiso 777 para que puedas subir tus archivos, (depende de la configuración del sistema que tengas).

Con nosotros sólo sigue la ruta a la raíz de tu dominio. Por ejemplo: Si tu archivo de almacenamiento está al mismo nivel que el archivo de tu página (httpdocs), sólo emplea: 'imagenes/'.

Si tu archivo de fotos o imágenes está contenido dentro de un directorio adicional, tal vez: imagenes/mis_fotos deberás escribir: imagenes/mis_fotos/


Ésta instrucción le dice al php que si hay algo que subir y lo tiene en el archivo temporal, entonces proceda.
   
$original = "/imagenes/imagen.jpg";

La ubicación de tu archivo.

// $original es la imagen que viene de el campo de tu forma.

Donde quieres que tu archivo se guarde:

Suponiendo que tu carpeta donde quieres que se guarde se llame: 'imagenes' y luego el nombre de el archivo que quieres subir.
 
$nueva_imagen = "../imagenes/nueva_imagen";

// $imagen es la variable que tu das para designar el nombre de tu nuevo archivo.

$nueva_imagen es la variable como quieras que se llame tu archivo cuando sea convertida.

En el ejemplo empleamos _sm (small) para denominar el nombre y la ruta del nuevo archivo procesado, la imagen pequeña.
 
(1)  $nueva_imagen_sm = "../imagenes/nueva_imagen_sm.jpg;

La ruta hacia la librera 'phpthumb' en este caso el directorio conteniendo la libreria esta en el directorio raíz, entonces incluimos la librera en nuestra página:
   
< div>   require_once 'phpthumb/ThumbLib.inc.php';

Aquí empleamos la clase para convertir nuestra imagen fuente en una imagen pequeña con los atributos especificados: por ejemplo: la nueva imagen será de 300 x 300 pixeles y se guardará en el archivo $filename (1)

   
//--Grande--
$thumb = PhpThumbFactory::create($original);
$thumb->resize(300, 300)->save($nueva_imagen);
 
Aquí empleamos la clase para convertir nuestra imagen original en una imagen pequeña con los atributos especificados: por ejemplo: la nueva imagen ser de 90 x 90 pixeles y se guardará en el archivo $nueva_imagen_sm (1)
 
//--Chica--
$thumb = PhpThumbFactory::create($original);
$thumb->resize(90, 90);
$thumb->save($nueva_imagen_sm);
   
Después de convertir tu imagen a dos tamaños diferentes, puedes guardar la ruta en la base de datos para su acceso.

También puedes convertir tus imgenes a otros tamaños de manera inmediata sin tener que guardarlas.
Si tienes pocas imágenes para procesar puedes optar por este método pero no es conveniente para catálgos con muchas imágenes, por que para cada acceso a tu página, el servidor tendrá que procesarlas nuevamente efectuando procesos no necesarios.

Para mayores informes consulta a los amigos de:
PHP Thumb.





 

Estamos para servirte