Buscando algunas cosillas por la red me encontré con este codigo en un foro y lo probé. La verdad es que funciona de maravilla, lo que hace es crear thumbails o miniaturas de imágenes al vuelo sin necesidad de tener la imágen en miniatura alojada en nuestro servidor. De hecho, las puede crear incluso de servidores o páginas web externas.

Necesitamos crear 2 archivos, uno para «visualizar» las img y el otro el php que las genera automaticamente.

Modifiqué una linea para que sacara una mejor resolución.

El thumbnail.class.php sería así:

<?php 
    class thumbnail 
    { 
        var $image; 
        var $size_x; 
        var $size_y; 
        function thumbnail($url) {$this->image=$url;} 
        function size($size_x,$size_y) {$this->size_x=$size_x;$this->size_y=$size_y;} 
        function show() 
        { 
            header("Content-type: image/jpeg");                
            $imageinfo=getimagesize ($this->image); 
            $x=$imageinfo[0]; 
            $y=$imageinfo[1]; 
            if($imageinfo[2]==1)    $original_image=imagecreatefromgif($this->image); 
            if($imageinfo[2]==2)    $original_image=imagecreatefromjpeg($this->image); 
            if($imageinfo[2]==3)    $original_image=imagecreatefrompng($this->image); 
            if($imageinfo[2]>3)        die('Image format not supported'); 
            $resize_x=$this->size_x/$x; 
            $resize_y=$this->size_y/$y; 
            if($resize_x<$resize_y) $resize=$resize_x; 
            else $resize=$resize_y; 
            $im    = imagecreatetruecolor(ceil($x*$resize),ceil($y*$resize)); 
            imagecopyresampled($im,$original_image,0,0,0,0,ceil($x*$resize),ceil($y*$resize),$x,$y); 
              imagejpeg($im, NULL, 100); 
               imagedestroy($im); 
        } 
    } 
?>

El thumbnail.php.

<?php     
    include('thumbnail.class.php');      
    $image=new thumbnail($_GET['file']); 
    $image->size($_GET['x'],$_GET['y']); 
    $image->show(); 
?>

Cuando quedamos generar una imagen en las dimensiones especificas se crea añadiendo los valores en la url de este modo:

x=100&y=130 :::::::: tamaño de la miniatura

file= ::::::: La url de la imágen real.

tuweb.com ::::: La url de tu web.

Evidentemente este ejemplo es si está en la raiz de vuestro sitio web, sino tendreis que poner la ruta en la url, si el archivo thumbnail.php esta en la carpeta img tendria que ser:

http://www.tuweb.com/img/thumbnail.php?x=100&y=130&file=RUTA URL IMAGEN

y en el include de thumbnail.php debe coincidir tambien la ruta del archivo thumbnail.class.php.

Aquí lo dejo por si me hace falta en el futuro. Un saludo.

por korud

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *