31
ago
2010

Este codigo puede ser utilizado para subir imagenes con su respectiva imagen thumbnails e imagen big imagen(Imagen grande) y guardar cierta información en una tabla de una base de datos como por ejemplo el nombre de los archivos guardados, tamaño, tipo, etc. Este codigo lo tengo implementadoen adiact y claro le quite cierto codigo que es donde guarda en una tabla de MySQL, pero creo que eso va a depender como ustedes se conectan a su base de datos.

Parte de este codigo lo encontre en un foro hace unos años cuando decidi comenzar a desarrollar mi propio manejador de contenido y lo adecue a mi necesidad para crear la administración de la galeria de imagenes.

if(is_uploaded_file($_FILES['cjImagen']['tmp_name'])){ //cjImagen es <input type="file" name="cjImagen"><br />
 $file_type = $_FILES['cjImagen']['type']; //Obtenemos el tipo de imagen<br />
 $file_name = $_FILES['cjImagen']['name']; //Obtenemos el nombre de la imagen<br />
 $file_size = $_FILES['cjImagen']['size']; //Obtenemos el tamaño de la imagen<br />
 $file_tmp = $_FILES['cjImagen']['tmp_name']; //Obtenemos un nombre temporal para la imagen</p>
<p> //Movemos la imagen del directorio temporal<br />
 if(move_uploaded_file($file_tmp,'/tmp'.'tmp.jpg')){ //Movemos la imagen a una ubicación temporal<br />
 // Obtenemos la información de la imagen<br />
 $im_info = getimagesize('/tmp'.'tmp.jpg'); //Obtenemos el tamaño de la imagen temporal</p>
<p> // Evaluamos si es GIF(1),JPEG(2) o PNG(3)<br />
 // y creamos la imagen en GD<br />
 switch($im_info[2]) {<br />
 case 1:<br />
 $imagen = imagecreatefromgif('../../panel/modulos/gimages/tmp_img/'.'tmp.jpg'); break; //Verificamos si esta en formato GIF<br />
 case 2:<br />
 $imagen = imagecreatefromjpeg('../../panel/modulos/gimages/tmp_img/'.'tmp.jpg'); break; //Verificamos si esta en formato JPG<br />
 case 3:<br />
 $imagen = imagecreatefrompng('../../panel/modulos/gimages/tmp_img/'.'tmp.jpg'); break;  //Verificamos si esta en formato PNG<br />
}</p>
<p> // Definimos la medida maxima<br />
 $th_max = 150; // de la muestra (thumbnail) //Tamaño de imagen pequeña<br />
 $det_max = 640; // de la imagen detalle //Tamaño de la imagen grande</p>
<p> // Evaluamos si la imagen es horizontal<br />
 if($im_info[0]>$im_info[1]){<br />
 // Definimos las medidas de las imagenes<br />
 $th_w = $th_max;<br />
 $th_h = ($im_info[1]/$im_info[0])*$th_max;<br />
 $det_w = $det_max;<br />
 $det_h = ($im_info[1]/$im_info[0])*$det_max;<br />
 }else{<br />
 $th_w = ($im_info[0]/$im_info[1])*$th_max;<br />
 $th_h = $th_max;<br />
 $det_w = ($im_info[0]/$im_info[1])*$det_max;<br />
 $det_h = $det_max;<br />
 }</p>
<p> // Creamos las imagenes<br />
 $thumb = imagecreatetruecolor($th_w,$th_h);<br />
 $detalle = imagecreatetruecolor($det_w,$det_h);</p>
<p> // Copiamos la original escalada<br />
 imagecopyresampled($thumb,$imagen,0,0,0,0, $th_w,$th_h,imagesx($imagen),imagesy($imagen));<br />
 imagecopyresampled($detalle,$imagen,0,0,0,0, $det_w,$det_h,imagesx($imagen),imagesy($imagen));</p>
<p> // Destruimos la imagen original<br />
 imagedestroy($imagen);</p>
<p> //Ubicamos el destino de las dos imagenes<br />
 // Damos salida a nuestros imagenes<br />
 imagejpeg($thumb,'/ruta/thumbimage.jpg',100); //Esta funcion genera la nueva imagen thumbail<br />
 imagejpeg($detalle,'/ruta/bigimage.jpg',100); //Esta funcion genera la imagen grande</p>
<p> // Destruimos las imagenes temporales<br />
 imagedestroy($thumb);<br />
 imagedestroy($detalle);<br />
 //Borramos el archivo temporal creado<br />
 unlink('/tmp'.'tmp.jpg'); //borramos img temporal</p>
<p> }//CIERRE DE ELSE DE SATIFACCION<br />
 }//CIERRE DE IF DE MOVE_UPLOAD<br />
}//FIN DE IS_UPLOAD_FILE<br />
Etiquetas: , ,
Comentarios: 0

Post relacionados

No hay comentarios para esta post.

Agrega tu comentario

(Requerido)
(Requerido)

Copyright © 2010 Javier Hernández