Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/12/2014, 06:21
ioniben
 
Fecha de Ingreso: marzo-2013
Ubicación: España
Mensajes: 42
Antigüedad: 12 años, 1 mes
Puntos: 4
No me muestra bien las imagenes de mysql

Hola tengo un formulario para subir imagenes a mysql
Código HTML:
 <form enctype="multipart/form-data" action="upload.php" method="post" name="form1">
			<table align="center">
				<tr>
					<td>Archivo</td>
					<td><input type="file" name="miArchivo" /></td>
				</tr> 
				<tr>
					<td>&nbsp;</td>
					<td><input type="submit" value="UPLOAD" /></td>
				</tr>	
			</table>
		</form> 
el archivo que hace la insert es upload.php
Código PHP:
<?php
require_once('lib/conexion2.php'); //importamos el archivo de conexión
//Comienzo de lectura del archivo
    /*
        Comprovamos que se aya pasado un parametro: isset($_FILES['miArchivo'])
        Comprovamos que el parametro no esta vacio isset($_FILES['miArchivo'] !='')
    */
    
if((isset($_FILES['miArchivo'])) && ($_FILES['miArchivo'] !='')){
        
        
$file $_FILES['miArchivo']; //Asignamos el contenido del parametro a una variable para su mejor manejo
        
        
$temName $file['tmp_name']; //Obtenemos el directorio temporal en donde se ha almacenado el archivo;
        
$fileName $file['name']; //Obtenemos el nombre del archivo
        
$fileExtension substr(strrchr($fileName'.'), 1); //Obtenemos la extensión del archivo.
        
        //Comenzamos a extraer la información del archivo
        
$fp fopen($temName"rb");//abrimos el archivo con permiso de lectura
        
$contenido fread($fpfilesize($temName));//leemos el contenido del archivo
        //Una vez leido el archivo se obtiene un string con caracteres especiales.
        
$contenido addslashes($contenido);//se escapan los caracteres especiales
        
fclose($fp);//Cerramos el archivo
        //Insertando los datos
        //Creando el query
        
$query "INSERT INTO img_articulo (fileName ,extension ,binario ) VALUES ('$fileName' ,'$fileExtension' ,'$contenido' )";
        
//$query = "INSERT INTO img_articulo (fileName ,extension ,binario ) VALUES ('gkj' ,'gh' ,'ghh' )";
        //Ejecutando el Query
        
$result mysql_query($query);
        if(!
$result) echo "dfs";
        
mysql_close($conexion);//cerramos la conexión
    
}
?>
Hasta aqui todo bien guarda la imagen en la tabla.
a la hora de sacar la imagen me muestra una "X"
verimpagen.php
Código PHP:
<?php
require_once('lib/conexion2.php'); //importamos el archivo de conexión
//Funcion para recuperar el mime
function fObtenerMime($wfParamCadena){//creamos una función que recibira un parametro en este caso la extensión del archivo
    
$fsExtension $wfParamCadena;    
    if  (
$fsExtension =='bmp'){ $mime 'image/bmp'; }
    if  (
$fsExtension =='gif' ){ $mime ='image/gif' ; }
    if  (
$fsExtension =='jpe' ){ $mime ='image/jpeg' ; }
    if  (
$fsExtension =='jpeg'){ $mime 'image/jpeg' ; }
    if  (
$fsExtension =='jpg' ){ $mime ='image/jpeg'; }
    if  (
$fsExtension =='png' ){ $mime 'image/png'; }    
    return 
$mime;//en base a su extenxión la function retornara un tipo de mime 
}
 
 
    
$idImagen $_GET['id']; //Recuperamos el prametro que contiene el id de la imagen que vamos a consultar.
    
    
$result mysql_query("Select * from img_articulo where idImagen = $idImagen");//Realizamos una consulta a la imagen seleccionada
    
$imagen =  mysql_fetch_assoc($result);//recuperamos los registros de la consulta
    
$mime fObtenerMime($imagen['extension']);//Obtenemos el mime del archivo.
    
$contenido $imagen['binario'];//Obtenemos el contenido almacenado en el campo Binario.
    
    
header("Content-type:$mime");//le indicamos al navegador que tipo de información mostraremos.
    
print $contenido//Imprimimos el contenido.
    
        
mysql_close($conexion);//cerramos la conexión
?>
Es como si el binario de la imagen estuviera mal...
alguna ayudita??