Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/05/2009, 13:13
lorena_da
 
Fecha de Ingreso: mayo-2009
Mensajes: 3
Antigüedad: 14 años, 11 meses
Puntos: 0
Redimensionar imágenes

Hola,

He empezado hace poco con PHP a través de unos videotutoriales, resulta que estoy diseñando una web para una empresa, y necesita un carro de compra con fotos de los artículos, etc (lo típico). Mi problema es el siguiente. Quiero tener una única carpeta con fotos grandes, y que se escalen cuando aparezcan en el catálogo. He hecho todo lo que me pedía el tutorial, pero las fotos no aparecen. Aquí os dejo lo que he hecho por si alguien me puede decir dónde está el error. (sé que es muy largo, asi que muchas muchas gracias)


He planteado el código php en la página catálogo, donde aparecerán las miniaturas de esta forma:
<?php
$imagen2=$row_listado['imagen'];
$imagen2="miniatura.php?imagen=imagenes/grandes/" . $imagen2;
?>
<img src= "<?php echo $imagen2; ?>" alt="Ver detalle" border="0" />

En la página miniatura.php, donde supuestamente escala las fotos he puesto todo esto:
<?php
// controlar ancho y alto de la miniatura
$ancho=100;
$alto=100;

// recibir el nombre de la imagen
$imagen=$_GET['imagen'];

// crear una variable que memorice la imagen grande
$original=imagecreatefromgif($imagen);

// analizar el tamaño de la imagen original
$medidas=getimagesize($original);
$ancho_original=$medidas[0];
$alto_original=$medidas[1];

// calcular el factor de escala
$escala_h=1;
$escala_v=1;
$escala_h=$ancho/$ancho_original;
$escala_v=$alto/$alto_original;

// evaluar la diferencia entre ancho y alto
if($alto_original >$ancho_original)
$escala_h=$escala_v;

// calculamos el nuevo tamaño
$imagen_h=ceil($ancho_original*$escala_h);
$imagen_v=ceil($alto_original*$escala_h);

// creamos imagen pequeña vacia
$final=imagecreatetruecolor($imagen_h,$imagen_v);

// copiamos el original en la pequeña escalada
imagecopyresized($final,$original,0,0,0,0,$imagen_h,$imagen_v,imagesx($original),imagesy($original));

// mostramos imagen final
header("content-type:image/gif");imagegif($final);

imagedestroy($final);

?>

Después de todo esto, las imágenes en miniatura no aparecen, pero consulto el Código Fuente y parece que sí que accede a la página miniatura.php, ¿debería suponer que el fallo está en la pág miniatura.php, no?. Esto es lo que aparece en el código de la página catalogo:
<td width="34%" rowspan="6" align="center" valign="middle"><a href="detalle.php?articuloid=2">

<img src="miniatura.php?imagen=imagenes/grandes/leonidas.gif" alt="Ver detalle" border="0" /></a></td>

Agradecería muchísimo que alguien me pudiera ayudar, porque la verdad es que me estoy volviendo loca intentando buscar el fallo!!!Muchas gracias y espero que este bien explicado