Foros del Web » Programando para Internet » PHP »

Imagenes en mi base de datos

Estas en el tema de Imagenes en mi base de datos en el foro de PHP en Foros del Web. Hola a todos, espero que alguien me entienda y me pueda ayudar, mi pregunta es la siguiente: Nota: Ya eh buscado en los FAQS y ...
  #1 (permalink)  
Antiguo 28/07/2004, 13:35
Avatar de Suelem  
Fecha de Ingreso: julio-2004
Ubicación: Guadalajara
Mensajes: 20
Antigüedad: 19 años, 9 meses
Puntos: 0
Imagenes en mi base de datos

Hola a todos, espero que alguien me entienda y me pueda ayudar, mi pregunta es la siguiente:

Nota: Ya eh buscado en los FAQS y en los foros, pero no lo eh podido hacer...

Tengo un formulario en el que agrego datos a mysql y no tengo el menor problema, me conecto a mi base de datos de maravilla y me agrega los datos, pero tambien quiero que me puedan mandar imagenes atraves de mi formulario, y se agreguen a mi base de datos, pero aun no lo logro, hasta ahora me guarda solo una ruta temporal pero no es completa y no se exactamente como es que deberia de funcionar...

Espero que alguien me ayude con esto... y me tengan pasciencia.....
__________________
Ing. Suelem
  #2 (permalink)  
Antiguo 28/07/2004, 14:05
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
Muestra tu codigo para poder ayudarte mejor :)
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #3 (permalink)  
Antiguo 28/07/2004, 14:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En tu BD el dato que debes guardar sería el :

$_FILES['archivo']['name'] ..

y a su vez mueves el archivo a su destino definitivo con:

move_uploaded_file($_FILES['archivo']['tmp_name'],"imagenes/".$_FILES['archivo']['name']);

a su destino definitivo.

A la hora de presentar ese dato (de tu BD que sólo contiene tu nombre del archivo) .. debes añadir (concatenando) tu ruta completa al archivo (donde lo dejastes con la anterior función).

Ejemplo:
<img src="imagenes/<? echo $row['imagen'] ?>">

siendo "$row['imagen']" el campo del registro que obtienes de hacer tu consulta a tu BD.

Pero, mejor será ver el código completo que usas (tanto el de tu formulario, como el que crea ese registro en tu BD y el que usas para intentar mostrar ese dato).

Un saludo,
  #4 (permalink)  
Antiguo 29/07/2004, 08:52
Avatar de Suelem  
Fecha de Ingreso: julio-2004
Ubicación: Guadalajara
Mensajes: 20
Antigüedad: 19 años, 9 meses
Puntos: 0
Este es el codigo que estoy utilizando

En mi base de datos llamada imagenes tengo 2 campos uno que es Id para ver el numero de imagen y otra llamada binario...
Lo reconozco es un codigo que me encontre posteado en un foro, y si funciona, al menos registra un monton de caracteres raros, en verdad espero que me puedan ayudar, estoy aprendiendo, creo que Cluster ya se esta dando cuenta...
Bueno tengo dos paginas una donde solo inserto la imagen y otra donde me dice si la pudo agregar o no...

Hasta ahora medio funciona....
Este es el codigo:

Insertar PHP

<?php
if (isset($HTTP_POST_VARS['submit'])) {
mysql_connect("localhost", "user", "password");
mysql_select_db("base de datos");
$data = addslashes(fread(fopen($imagen, "rb"), filesize($imagen)));
$result = MYSQL_QUERY("INSERT INTO imagenes (binario) VALUES ('$data')");
if (mysql_affected_rows() == 1) {
echo "Imagen insertada exitosamente. <a href=\"$HTTP_REFERER\">Volver</a>.";
} else {
echo "No se pudo insertar la imagen. <a href=\"$HTTP_REFERER\">Volver</a>.";
}
} else {
?>
<form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000">
Imagen: <input type="file" name="imagen" size="40"><br>
<p>
<input type="submit" name="submit" value="submit">
</form>
<?php
}
?>

Imagenes PHP

<?php
if ($submit) {
$id = $_GET['id'];
@mysql_connect("localhost", "user", "password");
@mysql_select_db("base de datos");
$query = "SELECT binario FROM imagenes WHERE id = '$id'";
$result = @MYSQL_QUERY($query);
$data = @mysql_result($result,0,"binario");
Header( "Content-type: image/jpeg");
echo $data;
}
else
{
?>
<form method="get" action="<?php echo $PHP_SELF; ?>">
Imagen:<br><select name="id" onchange="submit();">
<?php
mysql_connect("localhost", "user", "password");
mysql_select_db("base de datos");
$query = "SELECT id FROM imagenes";
$result = mysql_query($query);
while ($array = mysql_fetch_array($result)){
echo "<option value=\"".$array[0]."\">".$array[0]."</option>";
}
?>
</select>
<input type="submit" value="Submit">
</form>
<?php
}
?>

Gracias
__________________
Ing. Suelem
  #5 (permalink)  
Antiguo 29/07/2004, 10:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. ese código que pusistes registra tu archivo (imagen .. etc) sobre un campo de tu BD en formato binario . .es decir, no guarda la ruta sino el archivo en sí.

Te recomiendo hechar un vistazo al tutorial/ejemplo completo que usa esa misma técnica:

http://www.forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775/

Un saludo,
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 08:17.