Foros del Web » Programando para Internet » PHP »

Generar miniaturas

Estas en el tema de Generar miniaturas en el foro de PHP en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 24/02/2010, 12:41
Avatar de educhip  
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 84
Antigüedad: 14 años, 1 mes
Puntos: 6
Sonrisa Generar miniaturas

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 "grendes" 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 !!
  #2 (permalink)  
Antiguo 24/02/2010, 12:53
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Generar miniaturas

Parece ser problemas con la ruta, verifícalo a ver si estás poniendo la correcta
  #3 (permalink)  
Antiguo 24/02/2010, 15:43
Avatar de educhip  
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 84
Antigüedad: 14 años, 1 mes
Puntos: 6
Respuesta: Generar miniaturas

eulloa muchas gracias por tu contestacion.
La ruta creo que es correcta, las imagenes estan en img/grandes/ lo he comprobado varias veces, no se si el problema puede estar en el paso del parámetro pero tambien me extraña, o quizñas en que la miniatura no se genere correctamente y por eso no la muestre, a ver si alguien que entienda bien el código puede detectar el error que debe ser una tontería pero me trae de cabeza !!
jejeje, gracias de nuevo.
  #4 (permalink)  
Antiguo 24/02/2010, 15:47
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Generar miniaturas

¿Generas la imagen al vuelo?
No es que la carpeta exista, es cómo la estás llamando desde el archivo, si están al mismo nivel o q, de ahí la forma de variar el path
  #5 (permalink)  
Antiguo 24/02/2010, 15:51
Avatar de educhip  
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 84
Antigüedad: 14 años, 1 mes
Puntos: 6
Respuesta: Generar miniaturas

Si si estan al mismo nivel, yo las imagenes lsa muestro desde el archivo listado.php y este archco esta en el directorio raiz por decirlo de algun modo, en éste directorio hay una carpeta que se llama /img y dentro de img esta la carpeta /grandes, por lo que creo que eso esta correctamente no?
  #6 (permalink)  
Antiguo 24/02/2010, 15:56
Avatar de educhip  
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 84
Antigüedad: 14 años, 1 mes
Puntos: 6
Respuesta: Generar miniaturas

es mas al mostrar la pagina en el navegador, en el codigo fuente sale:
<img src="miniatura.php?nombre=img/grandes/1.jpg" />
es decir que la imagen la coje correctamente, el parámetro lo pasa bien, pero no la muestra, lo primero seria de sospechar un problema de ruta pero ya te digo que la ruta esta bien, es muy raro.

Etiquetas: miniaturas
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 22:33.