Foros del Web » Programando para Internet » PHP »

problema con visualizacion de imagenes

Estas en el tema de problema con visualizacion de imagenes en el foro de PHP en Foros del Web. Hola a todos: he usado estos 3 archivos para insertar imagenes en una base de datos en mysql el primero un formulario en html y ...
  #1 (permalink)  
Antiguo 17/03/2008, 07:12
 
Fecha de Ingreso: noviembre-2007
Mensajes: 19
Antigüedad: 16 años, 4 meses
Puntos: 0
problema con visualizacion de imagenes

Hola a todos:

he usado estos 3 archivos para insertar imagenes en una base de datos en mysql
el primero un formulario en html y dos scripts de php

todo funciona bárbaro, inserta las imagenes en la base de datos , y puedo ver la lisat de las mismas,tanto en el navegador como en mysql,
el unico problema es que cuando se pasa al archivo listar_imagenes.php

se ve la lista y las caracteristicas, pero no las imagenes, se ve un icono quebrado,
el icono que siempre aparece cuando no se puede cargar la imagen,con un circulo y un cuadrado y un triangulo.

estos son los archivos:

formulario.php

<HTML>
<HEAD>
<TITLE>Binario a BD</TITLE>
</HEAD>
<BODY>
<?php
if (isset($_GET['proceso'])){
echo $_GET['proceso']."<br>";
}
?>
<FORM enctype="multipart/form-data" method="post" action="insertar.php">
Archivo: <INPUT type="file" name="archivo" size="30">
<INPUT type="submit" name="submit" value="Subir archivo">
</FORM>
</BODY>
</HTML>

insertar.php

<?php
//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre. Si no fue asi, te remite de nuevo al formulario de inserción:
// No se comprueba aqui si se ha subido correctamente.
if (empty($_FILES['archivo']['name'])){
header("location: formulario.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
exit;
}

//establece una conexión con la base de datos.
$conexion = mysql_connect("localhost","root","******") or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db("archivos",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca.

// archivo temporal (ruta y nombre).
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ;

// leer del archvio temporal .. el binario subido.
// "rb" para Windows .. Linux parece q con "r" sobra ...
$binario_contenido = addslashes(fread(fopen($binario_nombre_temporal, "rb"), filesize($binario_nombre_temporal)));

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo.
$binario_nombre=$_FILES['archivo']['name'];
$binario_peso=$_FILES['archivo']['size'];
$binario_tipo=$_FILES['archivo']['type'];

//insertamos los datos en la BD.
$consulta_insertar = "INSERT INTO archivos (id, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
header("location:listar_imagenes"); // si ha ido todo bien
exit;
?>

listar_imagenes.php

<?php
mysql_connect("localhost","root","****") or die ("no se ha podido conectar a la BD");

mysql_select_db("archivos") or die ("no se ha podido seleccionar la BD");

$sql = "SELECT id,archivo_nombre,archivo_tipo,archivo_peso FROM archivos";
$consulta = mysql_query($sql) or die ("No se pudo ejecutar la consulta");

While ($registro=mysql_fetch_assoc($consulta)){
echo "<img src=\"ver.php?id=".$registro['id']."\">";
echo "<br> Nombre archivo: ".$registro['archivo_nombre'];
echo "<br> Tipo archivo (MIME formato): ".$registro['archivo_tipo'];
echo "<br> Peso: ".$registro['archivo_peso']." bytes.<br><br>";
}

?>



les repito ,todo funciona barbaro,lo uncio que en el navegador no se ven las imagenes

no se donde estara el error


aqui en el foro me han dicho que use un script para mostrar las imagenes

use este

el archivo ver.php

<?php
if(isset($_GET['id'])) {

// you may have to modify login information for your database server:
$conexion=mysql_connect("localhost","root","****** *") or die ("no se ha podido conectar a la BD");

mysql_select_db("archivos") or die ("no se ha podido seleccionar la BD");

$sql = "SELECT archivo_mombre,archivo_binario,archivo_tipo FROM archivos WHERE id='".$_GET['id']."'";

$consulta = mysql_query($sql,$conexion);

$datos = mysql_result($consulta,0,"archivo_binario");
$tipo = mysql_result($consulta,0,"archivo_tipo");
$nombre = mysql_result($consulta,0,"archivo_nombre");
$peso = mysql_result($consulta,0,"archivo_peso");


header("Content-type: $tipo");
header("Content-length: $peso");
header("Content-Disposition: inline; filename=$nombre");

echo $datos;

}
?>

y no me funciono
este lo tendria que encadenar con insertar.php en ves de listar_imagenes.php
que es el que esta ahora no?

gracias desde ya

desde ya gracias a todos
Sebastian
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 22:38.