Generar miniaturas

educhip
24 de Febrero del 2010
Hola a todos y antes que nada gracias por leer mi tema.

Resulta que estoy haciendo una página donde puedan mostrarse las imágenes en pequeño, es decir tengo las imágenes "grandes" en una carpeta, las coje de ahí y las redimensiona.
Lo que hago es pasar un parámetro con la ruta de la imagen que está en una bbdd a un archovo llamado miniatura.php, éste archivo devuelve la imagen ya redimensionada y la muestra.
Escribo y comento un poco el código:

Porción de la página que muestra el listado de imágenes:

<?php
$nombre2=$row_listado['foto'];
$nombre2="miniatura.php?nombre=img/grandes/" . $nombre2;
?>

<img src="<?php echo $nombre2; ?>" />

Lo que hago es declarar la variable nombre2 que coje el nombre de la imagen por ejemplo 001.jpg, después concatena la ruta donde estan las imágenes con el nombre de la imagen y esto lo pasa como parámetro a miniatura.php y lo vuelve a gusrdar como nombre2, de modo que lo que muestra despues es nombre2, es decir la imagen devuelta por el archivo miniatura.php

Archivo miniatura.php

<?php
//ancho y alto de la miniatura
$ancho=100;
$alto=100;
//recibir el nombre de la imagen
$nombre=$_GET['nombre'];
//poner imagen original en memoria
$original=imagecreatefromjpeg($nombre);
//analizar el tamaño de la imagen
$tam=getimagesize($original);
$ancho_original=$tam[0];
$alto_original=$tam[1];
//calcular el factor de escala
$escala_1=1;
$escala_2=1;
$escala_1=$ancho/$ancho_original;
$escala_2=$alto/$alto_original;
//ver si la imagen es horizontal o vertical compararando el alto y el ancho
if($alto_original >$ancho_original)
$escala_1=$escala_2;
//calcular nuevo tamaño
$imagen_hori=ceil($ancho_original*escala_1);
$imagen_vert=ceil($alto_original*escala_1);
//crear imagen pequeña vacía con el nuevo tamaño
$final=imagecreatetruecolor($imagen_hori,$imagen_v ert);
//copiar el original en la pequeña escalada
imagecopyresized($final,$original,0,0,0,0,$imagen_ hori,$imagen_vert,imagesx($original),imagesy($orig inal));
//mostrar la imagen
Header("content-type:image/jpg");Imagejpeg($final);
imagedestroy($final);
?>

El problema es que cuando hace el listado no muestra las imagenes, sale el símbolo X como si no la encontrara.
¿¿Alguien sabe donde puede estar el error??

Muuchasssss gracias de antemano !!