Foros del Web » Programando para Internet » PHP »

Redimensionar imágenes

Estas en el tema de Redimensionar imágenes en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 25/05/2009, 13:13
 
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:07.