PHP:¿Cómo genero thumbnails de las imágenes de mis galerías?
De Foros del Web
Requisitos: tener cargada la librería gd2(descomentada en php.ini)
Con este script:
thumnails.php
Código PHP:
<?php $ext_file=split("[.]",$file); $ext = strtolower($ext_file[2]); $tam=getimagesize($file); if(($tam[1]/$tam[0])>10){ $n_alto=80; $n_ancho=($n_alto*($tam[0]/$tam[1])); }else{ $n_ancho=80; $n_alto=($n_ancho*($tam[1]/$tam[0])); } if($ext=="jpg" || $ext=="jpeg"){ $origen = imagecreatefromjpeg($file); $imagen = imagecreatetruecolor($n_ancho,$n_alto); imagecopyresampled($imagen,$origen,0,0,0,0,$n_ancho,$n_alto,$tam[0],$tam[1]); header("Content-type: image/jpeg"); imagejpeg($imagen); }else if($ext=="png"){ $origen = imagecreatefrompng($file); $imagen = imagecreatetruecolor($n_ancho,$n_alto); imagecopyresampled($imagen,$origen,0,0,0,0,$n_ancho,$n_alto,$tam[0],$tam[1]); header("Content-type: image/png"); imagepng($imagen); }else if($ext=="gif"){ $origen = imagecreatefromgif($file); $imagen = imagecreatetruecolor($n_ancho,$n_alto); imagecopyresampled($imagen,$origen,0,0,0,0,$n_ancho,$n_alto,$tam[0],$tam[1]); header("Content-type: image/gif"); imagegif($imagen); }else{ return false; } ?>
cómo usarla, bueno se hace de la siguiente forma:
Código HTML:
<img src="thumnails.php?file=./galerias/queseyo/usuarios/yo.jpg">
nota:
si no se cuenta con la librería gd2 y sólo tienes la gd entonces tienes que reemplazar las funciones imagecreatetruecolor por imagecreate, imagecopyresampled por imagecopyresized
--The_Dark_Roy 11 Jul 2005
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
