Foros del Web » Programando para Internet » PHP »

Problema para insertar thumbnails en Tabla de Galeria de Imagenes

Estas en el tema de Problema para insertar thumbnails en Tabla de Galeria de Imagenes en el foro de PHP en Foros del Web. Buenos Dias Amigos: Les escribo para ver si me pueden ayudar a encontrar la falla que tengo para insertar los thumbnail en la tabla de ...
  #1 (permalink)  
Antiguo 24/06/2008, 08:31
 
Fecha de Ingreso: mayo-2008
Ubicación: Maturín
Mensajes: 26
Antigüedad: 16 años
Puntos: 0
Sonrisa Problema para insertar thumbnails en Tabla de Galeria de Imagenes

Buenos Dias Amigos:
Les escribo para ver si me pueden ayudar a encontrar la falla que tengo para insertar los thumbnail en la tabla de galeria de Imagenes que estoy creando para mi sitio web. El codigo que estoy utilizando fue descargado del siguiente sitio web:

http://www.buayacorp.com/archivos/guardar-una-imagen-y-su-miniatura-a-un-campo-blob-de-mysql/#comment-25885"]http://www.buayacorp.com/archivos/guardar-una-imagen-y-su-miniatura-a-un-campo-blob-de-mysql/#comment-25885

El script funciona bien y guarda todos los datos en los campos de la tabla incusive el campo foto, pero no me guarda nada en el campo thumb. Me muestra dos filas pero en blanco cuando hago un "SELECT thumb FROM tabla".

El codigo que estoy usando es:


Código PHP:
<?php
// Verificamos que el formulario no ha sido enviado aun
$postback = (isset($_POST["enviar"])) ? true false;
if(
$postback){
  
// Nivel de errores
  
error_reporting(E_ALL);
  
// Constantes
  # Altura de el thumbnail en píxeles
  
define("ALTURA"100);
  
# Nombre del archivo temporal del thumbnail
  
define("NAMETHUMB""c:\windows\temp\thumbtemp"); 
  
# Servidor de base de datos
  
define("DBHOST""xmobiled789f3");
  
# nombre de la base de datos
  
define("DBNAME""bd_web_imagenes");
  
# Usuario de base de datos
  
define("DBUSER""root");
  
# Password de base de datos
  
define("DBPASSWORD""5Ev_a8Ow");
  
// Mime types permitidos
  
$mimetypes = array("image/jpeg""image/pjpeg""image/gif""image/png");
  
// Variables de la foto
  
$name $_FILES["foto"]["name"];
  
$type $_FILES["foto"]["type"];
  
$tmp_name $_FILES["foto"]["tmp_name"];
  
$size $_FILES["foto"]["size"];
  
// Verificamos si el archivo es una imagen válida
  
if(!in_array($type$mimetypes))
    die(
"El archivo que subiste no es una imagen válida");
  
// Creando el thumbnail
  
switch($type) {
    case 
$mimetypes[0]:
    case 
$mimetypes[1]:
      
$img imagecreatefromjpeg($tmp_name);
      break;
    case 
$mimetypes[2]:
      
$img imagecreatefromgif($tmp_name);
      break;
    case 
$mimetypes[3]:
      
$img imagecreatefrompng($tmp_name);
      break;
  }
  
$datos getimagesize($tmp_name);
  
$ratio = ($datos[1]/ALTURA);
  
$ancho round($datos[0]/$ratio);
  
$thumb imagecreatetruecolor($anchoALTURA);
  
imagecopyresized($thumb$img0000$anchoALTURA$datos[0], $datos[1]);
  switch(
$type) {
    case 
$mimetypes[0]:
    case 
$mimetypes[1]:
      
imagejpeg($thumbNAMETHUMB);
      break;
    case 
$mimetypes[2]:
      
imagegif($thumbNAMETHUMB);
      break;
    case 
$mimetypes[3]:
      
imagepng($thumbNAMETHUMB);
      break;
  }
  
// Extrae los contenidos de las fotos
  # contenido de la foto original
  
$fp fopen($tmp_name"rb");
  
$tfoto fread($fpfilesize($tmp_name));
  
$tfoto addslashes($tfoto);
  
fclose($fp);
  
# contenido del thumbnail
  
$fp fopen(NAMETHUMB"rb");
  
$tthumb fread($fpfilesize(NAMETHUMB));
  
$tthumb addslashes($tthumb);
  
fclose($fp);
  
// Borra archivos temporales si es que existen
  
@unlink($tmp_name);
  @
unlink(NAMETHUMB);
  
// Guardamos todo en la base de datos
  #nombre de la foto
  
$nombre $_POST["nombre"];
  
$link mysql_connect(DBHOSTDBUSERDBPASSWORD) or die(mysql_error($link));;
  
mysql_select_db(DBNAME$link) or die(mysql_error($link));
  
$sql "INSERT INTO tabla(nombre, foto, thumb, mime) VALUES ('$nombre', '$tfoto', '$tthumb', '$type')";
  
mysql_query($sql$link) or die(mysql_error($link));
  echo 
"Fotos guardadas";
  exit();
}
?>
La tabla creada es:

CREATE TABLE `tabla` (
`idfoto` int(3) NOT NULL auto_increment,
`nombre` varchar(255) NOT NULL default '',
`foto` blob NOT NULL,
`thumb` blob NOT NULL,
`mime` varchar(40) NOT NULL default '',
PRIMARY KEY (`idfoto`)
) ;

He revisado y no consigo la falla, he pensado que tal vez se pueda relacionar con la version de PHP que estoy usando la cual es la 5.2.6 para Windows, esto es debido a que el script fue publicado en el 2004 cuando estaba el PHP4 como ultima version y a lo mejor cambiaron alguna sentencia o algo.
Estoy usando el Mysql-5.0.51 para windows.

Mucho les agradeceria si me pueden ayudar a encontrar el error.
Muchas Gracias
Dpernia
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 01:25.