Foros del Web » Programando para Internet » PHP »

Problema con thumbnails.

Estas en el tema de Problema con thumbnails. en el foro de PHP en Foros del Web. Hola a todos, a ver si me podeis echar un cable. Porque solo imprime un registro este script? Al cargar la pagina parece que los ...
  #1 (permalink)  
Antiguo 23/11/2005, 04:14
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
Problema con thumbnails.

Hola a todos, a ver si me podeis echar un cable. Porque solo imprime un registro este script? Al cargar la pagina parece que los lee todos pero solo muestra uno!!

Código PHP:
<?

$query_art 
"SELECT * FROM arte WHERE tipo LIKE '%imagen%'";


$art mysql_query($query_art);
$ancho 60;
$alto 40;

while(
$row mysql_fetch_assoc($art)){

$img $row['file'];

if(
ereg("jpg",$img)){
        
$img_temp imagecreatefromjpeg($img);
        
$type "image/jpeg";
        
$func "imagejpeg";
    }elseif(
ereg("gif",$file)){
        
$img_temp imagecreatefromgif($img);
        
$type "image/gif";
        
$func "imageGif";
        }elseif(
ereg("png")){
            
$img_temp imagecreatefrompng($img);
            
$type "image/png";
            
$func "imagepng";
        }


 
$imgAncho imagesx ($img_temp); 
$imgAlto =imagesy($img_temp); 
$imagen imagecreate($ancho,$alto);

imagecopyresized($imagen,$img_temp,0,0,0,0,$ancho,$alto,$imgAncho,$imgAlto);

Header("Content-type: ".$type); 
imagejpeg($imagen,"",70);
imagedestroy($imagen);
}
?>
Saludos
  #2 (permalink)  
Antiguo 23/11/2005, 07:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Teóricamente ese script debería mostrarte todas las imagenes una pegada con la otra ..

Pero, el uso correcto de esta técnica no es así sino creando ese script de forma indiviual (la parte que genera el thumbnail y obtiene UNA sóla imagen) y llamarlo bajo un tag de imagen HTML (<img src= ....>).

Puedes ver un tutorial al respecto completo en:
http://www.forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775/

Un saludo,
  #3 (permalink)  
Antiguo 23/11/2005, 09:45
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola cluster, he intentado pasarle la función dentro del tag img pero tampoco, solo muestra el primer registro.

La faq que montaste si no me equivoco es para tener las imágenes en la base guardadas en binario y en mi caso solo uso la bd para guardar las rutas basicamente, aunque en principio eso no debe influir.

No se si puede influir el header, he probado varias cosas y no consigo que muestre mas de una y hay 139 archivos!!

En este caso, parece que es el while que no funciona bien, incluso llamando cada vez a la función.

De momentol he creado una copia de las imagenes en tamaño miniatura, para ganar tiempo, pero estaría bien saber que pasa.

Saludos
  #4 (permalink)  
Antiguo 23/11/2005, 10:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La técnica es la misma que en el tutorial que te mostré .. lo único que cambia es de donde tomas tu imagen (de consulta SQL directa o sólo obtienes la ruta).

Lo primero que tendrías que ver en tu caso para probar tu código sería ver como está funcionando esta consulta SQL:

$query_art = "SELECT * FROM arte WHERE tipo LIKE '%imagen%'";

¿Has probado hacer?:
Código PHP:
$img $row['file']; 
echo 
$img
(desactivando el resto de código como header() y funciones de GD como imagejpg())

----------------------------

Luego .. tienes un campo "tipo" que no sé que guardas en el (será el formato MIME del archivo? ) .. si es así .. podrías usarlo en lugar de ver la extensión de tu archivo si contiene un "jpg" u otras . .usa directamente el campo "tipo" para definir:

Header("Content-type: ".$row['tipo']);

------------------

El uso que te decía que debes hacer es igual al del ejemplo del tutorial que te mencioné "listar_imagenes.php" .. si te fijas .. se llama al script que hace el thumbnail pasandolo el ID de UN registro a que se consulte en la BD:

Código PHP:
echo "<img src=\"ver.php?id=".$registro['id']."\">"
Y tu "ver.php" sería el código que presentas pero haciendo una consulta SQL:

Código PHP:
$query_art "SELECT * FROM arte WHERE id='".$_GET['id']."'"
Un saludo,
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.