Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

Problemas con imagenes en la base de datos

Estas en el tema de Problemas con imagenes en la base de datos en el foro de Sistemas de gestión de contenidos en Foros del Web. He hecho un sistema para subir imagenes a la base de datos, y despues de haberlo conseguide resulta que hay errores en las imagenes pongo ...
  #1 (permalink)  
Antiguo 23/02/2008, 02:21
 
Fecha de Ingreso: enero-2008
Mensajes: 381
Antigüedad: 16 años, 10 meses
Puntos: 19
Problemas con imagenes en la base de datos

He hecho un sistema para subir imagenes a la base de datos, y despues de haberlo conseguide resulta que hay errores en las imagenes

pongo un ejemplo

Subi una imagen de muestra de windows

Esi se ve despues de subirla
http://img411.imageshack.us/img411/3441/inviernort6.jpg

Esi es en realidad
http://img411.imageshack.us/img411/8996/inviernoby0.jpg

Este sistema esta hacho dentro de un modulo para php-nuke, pero creo que se entiende bien

Este es un ejemplo del formulario
Código PHP:
function AddImg() {
    
$msj "";
    
$msj $msj."<table width=\"100%\" border=\"0\" cellspacing=\"3\">";
    
$msj $msj."<tr><td nowrap><form method=\"post\" action=\"modules.php?name=Trucos&amp;par=AddingImg\" enctype=\"multipart/form-data\">";
    
$msj $msj."<b>Nombre de la Imagen</b></td><td><input type=\"text\" name=\"title\" size=\"40\" maxlength=\"100\"></td></tr>";
    
$msj $msj."<tr><td nowrap><b>Imagen</b></td><td><input type=\"file\" name=\"imagen\" size=\"40\" maxlength=\"100\"></td></tr>";
    
$msj $msj."<tr><td>&nbsp;</td><td><input type=\"submit\" name=\"submit\" value=\"Agregar\"></td></tr>";
    
$msj $msj."</form></table>";
    
NewTable("A&ntilde;adir Plataforma"$msj"FINISH");

Este es un ejemplo del script que recibe la imagen
Código PHP:
function AddingImg($title$imagen) {
    
// Comprobar si la imagen existe
    
global $db;
    list(
$width$height$type$attr) = getimagesize($_FILES['imagen']['tmp_name']);
    
$check_tittle $db->sql_query("SELECT * FROM tabla WHERE title='$title'");
    if (
sql_num_rows($check_tittle) != 0) {
       
NewTable("Error""La plataforma ya existe""FINISH");
       exit();
    }
    
// Crear variables de la imagen
    
if (is_uploaded_file($_FILES['imagen']['tmp_name']) === TRUE)
    {
        
$imagen file_get_contents($_FILES['imagen']['tmp_name']);
        
$imagen mysql_real_escape_string($imagen);
    } else {
        
NewTable("Error""El archivo de imagen no se subio correctamente""FINISH");
        exit();
    }
    
// Enviar informacion a la base de datos
    
$title addslashes(filter($title"nohtml"1));
    
$type addslashes($type);
    
$attr addslashes($attr);
    
$db->sql_query("INSERT INTO tabla VALUES (NULL,'$title','$imagen','$attr','$type')");
    global 
$dbi;
    
$sql "SELECT `img`, `imgType` FROM tabla WHERE title='$title'";
    
$db_result sql_query($sql$dbi);
    
$img_id mysql_insert_id($dbi);
    
$msj "La nueva plataforma se ha agregado a la base de datos satisfactoriamente"
    
."<br><br>Nombre de la plataforma: $title"
    
."<br><br>Imagen: <img src=modules.php?name=Modulo&amp;par=ShowImg&amp;img_id=$img_id $attr";
    
NewTable("Completado"$msj"FINISH");
}

function 
ShowImg($img_id) {
    if (
$img_id != NULL) {
        global 
$dbi;
        
$sql "SELECT `img`, `imgType` FROM tabla WHERE pid='$img_id'";
        
$db_result sql_query($sql$dbi);
        if (
sql_num_rows($db_result) == 0) { 
            include(
"header.php");
            
$msj "La imagen solicitada no se encuentra en nuestra base de datos!<br><br>";
            
NewTable("Error"$msj._ERROR"FINISH");
            exit(); 
        }
        list(
$img$type) = sql_fetch_row($db_result$dbi);
        if (
$img == NULL) echo("La variable de la imagen es nula");
        if (
$type == NULL) echo("La variable del tipo de imagen es nula");
        
header("content-type: ".image_type_to_mime_type($type));
        echo 
stripslashes($img);
    }

Nose que es lo que esta mal ahi y ademas no me puedo orientar ya que no da ningun error simplemente se cambian algunas lineas de color
  #2 (permalink)  
Antiguo 27/02/2008, 13:53
 
Fecha de Ingreso: enero-2008
Mensajes: 381
Antigüedad: 16 años, 10 meses
Puntos: 19
Re: Problemas con imagenes en la base de datos

nadie sabe que problema puede tener?
  #3 (permalink)  
Antiguo 27/02/2008, 14:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Problemas con imagenes en la base de datos

Parece corrupción de la imagen y puede ser causada en algún parte de tu código a la hora de insertar los caracteres a la base de datos, o al recuperar la imagen, checa bien que ninguno de los filtros que estas usando estén dañando la imagen, te recomendaría en lugar de usar mysql_real_escape_string() uses addslashes()

Trasladado a Aplicaciones Prefabricadas.
  #4 (permalink)  
Antiguo 27/02/2008, 14:08
 
Fecha de Ingreso: enero-2008
Mensajes: 381
Antigüedad: 16 años, 10 meses
Puntos: 19
Re: Problemas con imagenes en la base de datos

Hola GatorV, gracias por responder

Voy probar a usar addslashes() a ver si asi funciona
  #5 (permalink)  
Antiguo 27/02/2008, 14:23
 
Fecha de Ingreso: enero-2008
Mensajes: 381
Antigüedad: 16 años, 10 meses
Puntos: 19
Re: Problemas con imagenes en la base de datos

sigue dando el mismo error....
  #6 (permalink)  
Antiguo 02/03/2008, 09:15
 
Fecha de Ingreso: enero-2008
Mensajes: 381
Antigüedad: 16 años, 10 meses
Puntos: 19
Re: Problemas con imagenes en la base de datos

ayuda!!!!!!!!!!!!!!!!!!!!!!!!!!
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 05:09.