Foros del Web » Programando para Internet » PHP »

Imagenes

Estas en el tema de Imagenes en el foro de PHP en Foros del Web. Hola como puedo añadir imagenes a una base de datos mysql y que tipo de campo seria. Quisiera saber como puedo hacerlo desde php. Gracias...
  #1 (permalink)  
Antiguo 14/03/2004, 21:45
daz
 
Fecha de Ingreso: julio-2001
Ubicación: Bogota
Mensajes: 341
Antigüedad: 22 años, 9 meses
Puntos: 4
Imagenes

Hola

como puedo añadir imagenes a una base de datos mysql y que tipo de campo seria.

Quisiera saber como puedo hacerlo desde php.

Gracias
  #2 (permalink)  
Antiguo 15/03/2004, 05:55
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
yo creo que podrias hacerlo en un campo que almacene los datos en forma binaria; y creeria que podrias manipularlo desde php.
__________________
| Cabeza De Raton |
  #3 (permalink)  
Antiguo 15/03/2004, 07:18
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Si lo que quieres es guardar el fichero en la base de datos, revisa http://www.forosdelweb.com/s/msg127775.html

Otra opcion es solo guardar el nombre y ruta del fichero en el servidor, y guardar el fichero en el sistema de ficheros del servidor.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 15/03/2004, 17:53
daz
 
Fecha de Ingreso: julio-2001
Ubicación: Bogota
Mensajes: 341
Antigüedad: 22 años, 9 meses
Puntos: 4
No se me habia ocurrido, pero creo que la mejor opcion es guardar el link de la imagen en la base de datos y llamarlo cuando lo necesite.

Gracias
  #5 (permalink)  
Antiguo 16/03/2004, 03:20
JJM
 
Fecha de Ingreso: noviembre-2003
Mensajes: 77
Antigüedad: 20 años, 5 meses
Puntos: 0
Esto funciona

Te dejo los pasos 1 a 1

1º Crea una Tabla con las siguiente caracteristicas
----------------------------------------------------------------
CREATE TABLE binary_data (
id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,
description CHAR(50),
bin_data LONGBLOB,
filename CHAR(50),
filesize CHAR(50),
filetype CHAR(50)
);


2º Archivo que guarda la imagen en la base de datos
--------------------------------------------------------------------
guardar.php
<?php require('Connections/Conexion.php'); ?>
<html>
<head><title>Store binary data into SQL Database</title></head>
<body>
<?php
if ($submit) {
mysql_select_db($database_Conexion, $Conexion);
$data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
$result=mysql_query("INSERT INTO binary_data (description,bin_data,filename,filesize,filetype) ".
"VALUES ('$form_description','$data','$form_data_name','$f orm_data_size','$form_data_type')");
$id= mysql_insert_id();
print "<p>This file has the following Database ID: <b>$id</b>";
mysql_close();
} else {

?>

<form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
File Description:<br>
<input type="text" name="form_description" size="40">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<br>File to upload/store in database:<br>
<input type="file" name="form_data" size="40">
<p><input type="submit" name="submit" value="submit">
</form>

<?php

}

?>

</body>
</html>

-----------------------
Cuida con la linea
<?php require('Connections/Conexion.php'); ?>
Yo lo he trabajado con Dreamwever y este crea una carpeta "Connections" y dentro el archivo "Conexion.php" que tiene esto...

<?php

$hostname_Conexion = "Servidor"; #nombre de tu máquina
$database_Conexion = "test"; #Base de datos
$username_Conexion = "Usuario"; #Usuario con acceso
$password_Conexion = "";
$Conexion = mysql_pconnect($hostname_Conexion, $username_Conexion, $password_Conexion) or die(mysql_error());
?>

3. archivo que lee la foto
---------------------------------
leer.php

<?php require('Connections/Conexion.php'); ?>
<?php
//if($id) {
mysql_select_db($database_Conexion, $Conexion);
$query = "SELECT * FROM binary_data WHERE id=1";
$result = mysql_query($query,$Conexion) or die ("no hay conexion");
$data = mysql_result($result,0,"bin_data");
$type = mysql_result($result,0,"filetype");
header("Content-type: $type");
echo $data;
mysql_close();
//};
?>

4. El archivo que llama a leer.php y muestro la imagen
---------------------------------------------------------------------

<body>
<img src="leer.php?id=1">
</body>

haz un documento Html y donde quieras coloca la etiqueta...
<img src="leer.php?id=1">

esto llama a leer.php pidiendo la foto número 1
desde aquí ya podrás personalizar de forma dinámica la llamada a cualquier registro.

Espero que te funcione...
  #6 (permalink)  
Antiguo 16/03/2004, 03:35
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
El cargar archivos en una tabla, hay que tener en cuenta que la cargamos de datos muy rapidamente, y normalmente las BDD estan limitadas, no en si misma por MYSQL si no por el servidor, por eso (aunque se discute mucho el tema ) es mejor solo cargar el link de la imagen y dejar que el sistema de archivos la guarde

Y la velocidad de sacar la imagen (tambien se discute ) es igual en base de datos que en archivo normal

Saludos
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 23:07.