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?