Programación Web y Scripting > PHP
Problema Con Thumbnails
(1/1)
zaida20:
Hola, necesito mostrar imágenes haciendo thumbnails, el código que tengo es el siguiente;
mostrar.php
--- Código: Text ---$obtener_blog="select foto from blog order by fecha_hora desc"; $consulta=mysql_query($obtener_blog,$conexion); if($consulta!=NULL) { if(mysql_num_rows($consulta)!=0) { while($fila=mysql_fetch_array($consulta)) { $foto[$i]=$fila['foto']; <img src="imagen.php?id_f=<?php echo $id_blog[$i];?>">
imagen.php
--- Código: Text ---<?php ob_start(); // Devuelve el identificador o false en caso de error function imagecreatefromfile($imagefile) { // variable resultado $resultado = false; // Obtener extensión del archivo $dot = (strlen($imagefile) - strrpos($imagefile, ".")-1)*(-1); $ext = substr($imagefile, $dot); $ext = strtolower($ext); // Chequear que las imágenes sean de alguno de los formatos soportados. Por medio de la función strtolower(), pasamos la extensión a minúsculas if( $ext == "gif") { if ($src_img = imagecreatefromgif($imagefile)) { $resultado = $src_img; } } else if( $ext == "jpg" || $ext == "jpeg") { if ($src_img = imagecreatefromjpeg($imagefile)) { $resultado = $src_img; } } else if( $ext == "png") { if ($src_img = imagecreatefrompng($imagefile)) { $resultado = $src_img; } } else if( $ext == "jpg" || $ext == "jpeg") { if ($src_img = imagecreatefromjpeg($imagefile)) { $resultado = $src_img; } } return $resultado; } // genera una imagen thumbnail a partir de otra function generate_thumbnail($imagefile, $alto, $calidad = 100) { // leemos el fichero de la imagen if( ($src_img = imagecreatefromfile($imagefile)) == false ) { exit; } else { $hw = getimagesize($imagefile); // $alto es el alto para la nueva imágen $new_w = $alto; //$hw[0]--> Ancho $hw[1]--> Alto //$new_h = $hw["0"]/($hw["1"]/$alto);//formula para todas las imagenes igual de altas $new_h=$hw[1]/($hw[0]/$alto); // formula para todas las imagenes igual de anchas // Intentamos crear una imágen 'true color'. Esta función es soportada a partir de GD 2.0, por lo que en caso de no funcionar, se usará la función imageCreate $dst_img = @imagecreatetruecolor($new_w,$new_h); if(!$dst_img) { $dst_img = imageCreate($new_w,$new_h); } // Se crea la imágen con los valores obtenidos y borramos las imágenes de la memoria imagecopyresampled($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img)); imagejpeg($dst_img,"", $calidad); ImageDestroy($src_img); ImageDestroy($dst_img); } } ///// require="conexion.php"; $reg = mysql_query("SELECT foto FROM blog WHERE id = ".$_GET['id_f']."")or die(mysql_error()); $row = mysql_fetch_array($reg); $file=$row['foto']; // header("Content-type: image/jpeg"); $imagen=generate_thumbnail($file, 75);//todas las imagenes son igual de anchas echo $imagen; ?>
La ruta de la imagen está bien, el problema es que no me muestra la imagen ¿Alquien sabe por qué? :unsure:
Muchas gracias
Saludos :hola:
zaida20:
El problema era más fácil de lo que pensaba, las dos imágenes jpg que quería mostrar como thumbnails estaban dañadas, al cambiar las imágenes funciona correctamente.
Saludos :hola:
Navegación
Ir a la versión completa