Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/03/2008, 20:52
Ruben_C
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Problema al subir imagen

Hola a todos, tengo un problema al subir una imagen y es que no las muestra, eso si, estoy probando en mi propio pc (localhost).

Utilizando el dreamweaver para generar la consulta, me aparece algo asi (para todas las imagenes):

GIF89a2�X���������������������߻��1�������1��)�̽�� ){�!���k�!v�j�����������h�Z������W�o���
��s��U����M�w��F�z{�du�Vp�eq�Yn�fx`bt~=�Xh�Yh� G`�Ua
�H`�L

y haciendolo a mano me aparace

No se puede mostrar la imagen “http://localhost/fotos/imagen.php?mostrar=4” porque contiene errores.

Será el codigo?, sera el cotejamiento de la base de datos? he probado todos los blob.

Este es el codigo para subir la imagen

Código HTML:
<?php require_once('Connections/seleccion.php');
mysql_select_db($database_seleccion, $seleccion);

if (isset($_POST['enviar'])) {
$tipos = array("image/gif","image/jpeg","image/bmp","image/pjpeg");

$maximo = 102400; //100Kb

if (is_uploaded_file($_FILES['imagen']['tmp_name'])) { // Se ha subido?

if (in_array($_FILES['imagen']['type'],$tipos) && $_FILES['imagen']['size'] <= $maximo) { // Es correcto?

$fp = fopen($_FILES['imagen']['tmp_name'], 'r'); //mostrar imagen

$imagen = fread($fp, filesize($_FILES['imagen']['tmp_name'])); //contenido de la imagen

$imagen = addslashes($imagen);

fclose($fp); //cierra la imagen

if(!get_magic_quotes_gpc())

$nombre = addslashes($_FILES['imagen']['name']); //arregla el Nombre

else $nombre = $_FILES['imagen']['name'];

$query = "INSERT INTO `imagenes` (imagen,nombre,tipo,descripcion,fecha,ip) VALUES ";

$query.= "('".$imagen."','".$nombre."','".$_FILES['imagen']['type']."','";	

$query.= mysql_real_escape_string($_POST['descripcion'])."','";
	
$query.= date("d/m/y",time())."','".$_SERVER['REMOTE_ADDR']."')";

if (mysql_query($query)) echo '<img src="visor.php?mostrar='.mysql_insert_id().'">';

else echo mysql_error();
	
} else echo "El formato del archivo no es correcto o es mayor de 100Kb";	

} else echo "La imagen no ha sido subida";
}
?> 
y para mostrar la imagen es este:
Código HTML:
<?PHP
require_once('Connections/seleccion.php');
mysql_select_db($database_seleccion, $seleccion);
if (is_numeric($_GET['mostrar'])) {
// Conexion a la Base de Datos
$query = mysql_query("SELECT * FROM `imagenes` WHERE id = '".$_GET['mostrar']."'") or exit();
if (!mysql_num_rows($query)) exit(header("HTTP/1.0 404 Not Found"));
$datos = mysql_fetch_array($query);
header("Content-Type: ".$datos['tipo']);
echo $datos['imagen'];
//Desconexion
} else header("HTTP/1.0 404 Not Found");
?> 
Alguien sabe que puede pasar?