PHP snippet Como crear thumbnails desde MySQL con PHP

Jun 2008
28
1,030 views
3

Bueno creo que ya estubo bien de tantos articulos sobre psp y otras cosas y es tiempo de volver a lo mio, los tutoriales con mas codigo que palabras, aunque de repente pondre uno que ptro post de posicionamiento :P,

Requisitos:

  • Tener instalado PHP y MySQL.
  • Conocimientos basicos de PHP y MySQL.
  • GD instalado y funcionando.

1.- Analicemos el problema tomando como base el articulo Manejo de archivos con PHP y MySQL en el cual explico como guardar archivos en MySQL, asi que tomaremos la tabla de ese ejemplo.

Bueno ya fue mucha platica mejor vemos el codigo por partes, al final lo pondre todo junto:

$id_doc=$_REQUEST['id'];
$qry="Select * from tbl_documentos where id_documento=$id ";
$res=mysql_query($qry) or die(mysql_error()." qry::$qry");
  • 1.- OBTENEMOS EL ID
  • 2.- CONSTRUIMOS LA CONSULTA PARA OBTENER EL DOCUMENTO
  • 3.- EJECUTAMOS LA CONSULTA
if (mysql_numrows($res)>0) {
$obj=mysql_fetch_object($res);
$im= imagecreatefromstring($obj->contenido);
}else{
$im= imagecreatefromgif("media/images/nophoto.gif");
}
  • 1.- VERIFICAMOS QUE LA IMAGEN EXISTE
  • 3.- CREAMOS UNA IMAGEN CON LA FUNCION DE GD imagecreatefromstring YA QUE ESTA PUEDE LEER EL CAMPO BLOB QUE ESTAMOS OBTENIENDO
  • 5.- SI NO EXISTE USAMOS ALGUNA OTRA
header("Content-type: {$obj->tipo}");
$width = imagesx($im);
$height = imagesy($im);
$imgw = 100;
$imgh = $height / $width * $imgw;
$thumb=imagecreatetruecolor($imgw,$imgh);
$back = imagecolorallocate($thumb, 255, 255, 255);
imagefill ( $thumb, 0, 0, $back );
  • 1.- OBTENEMOS EL TIPO MIME DEL ARCHIVO ASI EL NAVEGADOR SABRA DE QUE SE TRATA
  • 2.- OBTENEMOS LAS MEDIDAS ACTUALES DE LA IMAGEN
  • 4.- ESTABLECEMOS EL TAMAÑO DEL THUMBNAIL
  • 5.- CALCULAMOS EL ALTO DE LA IMAGEN PARA MANTER EL ASPECTO
  • 6.- CREAMOS UNA NUEVA IMAGEN UTILIZANDO LAS NUEVAS MEDIDAS
  • 7.- CREAMOS UN COLOR PARA EL FONDO ESTO ES IMPORTANTE PORQUE SI LA IMAGEN CONTIENE FONDO BLANCO SOLO OBTENDRIAMOS UNA IMEGEN NEGRA
  • 8.- RELLENAMOS EL LA IMAGEN CON EL COLOR QUE CREAMOS EN EL PASO ANTERIOR
ImageCopyResized($thumb,$im,0,0,0,0,$imgw,$imgh,ImageSX($im),ImageSY($im));
$out = ImagejpeG($thumb);
imagedestroy ($im);
imagedestroy ($thumb);
print $out;
  • 1.- COPIAMOS LA IMAGEN ORIGINAL AL THUMBNAIL
  • 2.- CREAMOS UNA IMAGEN TIPO JPEG
  • 3.- LIMPIAMOS LA MEMORIA
  • 4.- Y POR ULTIMO SIMPLEMENTE IMPRIMIMOS EL CONTENIDO DEL ARCHIVO

Aquie esta el codigo completo

//OBTENEMOS EL ID
$id_doc=$_REQUEST['id'];

//CONSTRUIMOS LA CONSULTA PARA OBTENER EL DOCUMENTO
$qry="Select * from tbl_documentos where id_documento=$id ";

//EJECUTAMOS LA CONSULTA
$res=mysql_query($qry) or die(mysql_error()." qry::$qry");

//VERIFICAMOS QUE LA IMAGEN EXISTE
if (mysql_numrows($res)>0) {
$obj=mysql_fetch_object($res);

//CREAMOS UNA IMAGEN CON LA FUNCION DE GD imagecreatefromstring
//YA QUE ESTA PUEDE LEER EL CAMPO BLOB QUE ESTAMOS OBTENIENDO
$im= imagecreatefromstring($obj->contenido);
}else{
//SI NO EXISTE USAMOS ALGUNA OTRA
$im= imagecreatefromgif("media/images/nophoto.gif");
}
//OBTENEMOS EL TIPO MIME DEL ARCHIVO ASI EL NAVEGADOR SABRA DE QUE SE TRATA
header("Content-type: {$obj->tipo}");

//OBTENEMOS LAS MEDIDAS ACTUALES DE LA IMAGEN
$width = imagesx($im);
$height = imagesy($im);

// ESTABLECEMOS EL TAMAÑO DEL THUMBNAIL
$imgw = 100;

//CALCULAMOS EL ALTO DE LA IMAGEN PARA MANTER EL ASPECTO
$imgh = $height / $width * $imgw;

// CREAMOS UNA NUEVA IMAGEN UTILIZANDO LAS NUEVAS MEDIDAS
$thumb=imagecreatetruecolor($imgw,$imgh);

//CREAMOS UN COLOR PARA EL FONDO
//ESTO ES IMPORTANTE PORQUE SI LA IMAGEN CONTIENE FONDO BLANCO
//SOLO OBTENDRIAMOS UNA IMEGEN NEGRA
$back = imagecolorallocate($thumb, 255, 255, 255);
// RELLENAMOS EL LA IMAGEN CON EL COLOR QUE CREAMOS EN EL PASO ANTERIOR
imagefill ( $thumb, 0, 0, $back );

// COPIAMOS LA IMAGEN ORIGINA AL THUMBNAIL
ImageCopyResized($thumb,$im,0,0,0,0,$imgw,$imgh,ImageSX($im),ImageSY($im));

//CREAMOS UNA IMAGEN TIPO JPEG
$out = ImagejpeG($thumb);

// LIMPIAMOS LA MEMORIA
imagedestroy ($im);
imagedestroy ($thumb);
//Y POR ULTIMO SIMPLEMENTE IMPRIMIMOS EL CONTENIDO DEL ARCHIVO
print $out;

Guardamos el codigo con el nombre que queramos yo por ejemplo thumbnail.php y lo usamos de la siguiente manera

<img src="http://blog.deliriumlabs.net/wp-admin/thumbnail.php?id_documento=1" />

Espero les sea util este articulo,

Links Relacionados

Jun 2008
23
276 views
0

Posters de la pelicula El fin de los tiempos

Jun 2008
23
276 views
3

Para esta pelicula,al parecer la gente de 20th ahora si tomo mas en cuenta a Mexico ya que se diseñaron 3 posters promocionales para las 3 ciudades mas importantes de Mexico en orden de importancia:

  • Monterrey
  • Guadalajara
  • Mexico

Jajaja notese que soy de Monterrey.

Bueno aqui les dejos los 3 posters, aunque como me comentó Juan en el de Monterrey hay un grave error ya que no hay ninguna carretera despoblada que vea direco al cerro de la silla, pero bueno almenos ora si nos tomaron en cuenta.

Promocional CERRO DE LA SILLA: MONTERREY, NUEVO LEON

Promocional LA MINERVA: GUDALAJARA, JALISCO

Ndiswrapper Fedora 9 bcmwl5

Jun 2008
18
446 views
1

Este es un breve howto de como instalar ndiswrapper en Fedora 9

Requerimientos:

  • Contar con conexion a internet obviamente por cable.
  • Contar con los drivers de la tarjeta para windows extraidos.
  • Paciencia.

1.-Abrir una consola y logearse como root

su -
"telclear el password"

2.- Tecleear lo siguiente para que se instale el repositorio de livna

rpm -ivh http://rpm.livna.org/livna-release-9.rpm

3.- Tecleear lo siguiente para instalar ndiswrapper y su modulo correspondiente

yum install ndiswrapper kernel-module-ndiswrapper-$(uname -r)

4.- Tecleear lo siguiente remplazando lo que se encuentra entre comillas para instalar el driver

ndiswrapper -i "ruta_al_archivo_inf_del_driver".inf

5.- Verificamos que se instalo correctamente conel siguiente comando:

ndiswrapper -l
deberiamos obtener algo similar a esto:
Installed ndis drivers:
bcmwl5  driver present, hardware present

6. Agregar a …

Iconos eCommerce Gratuitos

Jun 2008
09
91 views
0

Desde StrarFish nos llega una coleccion de 32 iconos gratuitos listos para descargarse.Con este paquete podremos hacer que nuestros desarrollos de tiendas virtuales se van mejor

Las caracteristicas son:

  • Gratiutos!!!
  • Efecto “glossy”
  • Formato .png
  • Resolución 32 x 32 px

Espero este recurso les sea util.

Tip para aumentar el CTR de los anuncios

May 2008
31
137 views
1

Bueno primero vamos a definir CTR:

Click Through Rate (CTR) – Tasa de clicks: corresponde al número de veces que un enlace es seguido por los navegantes, dividido por el número de veces que dicho enlace es mostrado (llamado a su vez impresión).

Ejemplo:

Si un anuncio se muestra 10 veces y es visitado 6 veces: 6 / 10= 0.6%.

Segun tengo entendido entre mas alto sea el CTR masvalor tendra el vinculo mostrado.
Yo he implementado un pequeño pero util procedimiento en mi Template de Wordpress el cual consiste en mostrar anuncion en random, lo cual tambien me permite mostrar anuncios de diferentes proveedores.El proceso es el siguiente:

REQUISITOS:

I.- Comencemos registrado los anuncios en el Adsense-Deluxe

Wallpaper - Naturaleza

May 2008
22
225 views
0

Wallpaper Naturaleza

Primer wallpaper de una serie que estare publicando, a cada wallpaper le agregare una frase, por si tienen alguna frase que amerite un wallpaper solo dejen su comentario, a se me olvidava porfavor pongan el autor de la frase.

El archivo zip tiene los wallpapers en los formatos

  • 1024 x 768
  • 1280 x 1024
  • 1440 x 900

Toda la naturaleza es como un arte desconocido del hombre.
- Alexander Pope

Brushes | Pinceles para photoshop GRATIS

May 2008
02
523 views
3
www.brusheezy.com

Una de las herramientas que por lo general o mejor dicho muy frecuentemente debemos utilizar en photoshop son los brushes o pinceles, ya que con estos podemos crear desde grandes efectos hasta estilos tipo abstractospasando por señalizacion y figuras, y en esta ocacion les recomendare Brusheezy.com

Brusheezy.com es un sitio que nos permite descargar de manera gratuita Pinceles para Photoshop, votar por los mejores, y no solo cuenta con pinceles sino tambien con patrones (patterns) que son otro recurso imprecindible para nuestros diseños. El sitio es actualizado cada dia con nuevos Pinceles .

Tambien podemos enviar nuestros mejpres pinceles, pero se les advierte que solo aceptan los mejores, a juicio de ellos.

Espero …

Links Relacionados

Apr 2008
30
437 views
0

Icons de Tarjetas de Credito para tiendas On-Line Gratis

Apr 2008
30
437 views
2

iconos tarjetas de credito

Como ya es costumbre en SmashingMagazine se encuetra una lista de iconos de tarjetas de credito que podemos utilizar en cualquier desarrollo de tiendas On-Line.Estos iconos se utilizan para indicar la venta y forma de pago, asi como mostrar  que aceptamos estas formas de pago en el sitio.

Link: http://www.smashingmagazine.com/2008/04/25/free-credit-card-icons-for-online-shops/

16 excelentes tutoriales de diseño

Apr 2008
29
215 views
0

En InfectedFx ,un excelente blog que hay que visitar de vez en diario, me encontre con una muy buena lista de tutoriales en total son 16 y muy buenos por cierto aunque no todos estan echos con photoshop pero los resultados son, como decirlo, espectaculares ;),

Visitar la lista de tutoriales

Mas visitados

My Flickr

diseño web sti professinal consulting
Holly dollar baby
halftone background
varsion 1.0 del mi sitio
holly cojin rojo
urban 2
urban
dont panic 1 para psp
Deja tu comentario