Foros del Web » Programando para Internet » PHP »

Imagen base de datos + carpeta

Estas en el tema de Imagen base de datos + carpeta en el foro de PHP en Foros del Web. Hola a todos estoy haciendo una web en php para promocionar ciertos productos, pero tengo ciertas dudas ya que estoy empezando con php y estuve ...
  #1 (permalink)  
Antiguo 18/11/2010, 10:50
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Imagen base de datos + carpeta

Hola a todos estoy haciendo una web en php para promocionar ciertos productos, pero tengo ciertas dudas ya que estoy empezando con php y estuve leyendo cosas que encontre por google y me generaron ciertas dudas,
que es lo que me conviene hacer? poner las fotos en la base de datos con el atributo 'longblob' o las guardo en una carpeta,y saco las imagenes necesarias desde alli ? La verdad que no entiendo mucho como es el manejo de las imagenes si fuera por carpeta como las buscaria despues con php???


Saludos y gracias a aquel/lla que me logre ayudar...
  #2 (permalink)  
Antiguo 18/11/2010, 10:53
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Imagen base de datos + carpeta

guardalas en una carpeta.. asi no saturas tu servidor SQL
y para mostrarlas.. pues eso es tema de HTML
<img />

saludos.
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 18/11/2010, 11:09
 
Fecha de Ingreso: febrero-2010
Ubicación: cba
Mensajes: 203
Antigüedad: 14 años, 2 meses
Puntos: 16
Respuesta: Imagen base de datos + carpeta

te conviene guardarlas en una carpeta y depues buscarlas.

Código PHP:

<form action="subearchivo.php" method="post" name="form2"enctype="multipart/form-data" >
<
fieldset><legend>1. Ingreso de imagen</legend>

Titulo de la imagen: <br />
<
input type="text"  name="titulo" size="93"  />
imagen a cargar: <br /> 
 <
input name="userfile"  size="50" type="file" accept="image/gif,image/png"  

<
input type="submit" name="cargar" value="Cargar" class="boton"  /> 

<
input type="reset" name="cargar" value="Borrar" class="boton"  />
</
fieldset>
</
form

archivo llamado suberarchivo.php que almacena las rutas de las imagenes en la BD

Código PHP:


include ("conectar.php");


$titulo $_POST['titulo']; 


$nombre_archivo "imagenes/".$_FILES['userfile']['name']; 
 
    if ((
move_uploaded_file($_FILES['userfile']['tmp_name'], $nombre_archivo))  ) 
    
    {      
mysql_query("INSERT INTO imagenes(titulo,imagen,fecha)
                        VALUES('$titulo','$nombre_archivo',NOW())"
); 
1)crea una carpeta que se llame imagenes en la raiz del sitio.
2)crea una tabla que se llame imagenes y los campos ID - TITULO - IMAGEN - FECHA

y este codigo lo pones donde quieras que te muestre las imagenes

Código PHP:
<?
include("conectar.php"); 
$SQL4 "select * from imagenes  ";
$RESULTADO4=mysql_query($SQL4);

             


while(
$FILA4=mysql_fetch_array($RESULTADO4))
{echo 
"<img src='$FILA4[imagen]' width='430' height='280' border='0' />";
echo 
"<br>"
echo "$FILA4[titulo]"
echo 
"<br>"

}
?>
conexion con base de datos: (conectar.php)

Código PHP:
<?
    $SERVIDOR 
"localhost";
    
$USUARIO  "root";
    
$PALABRA  "";
    
$BASE     "tubase de datos";
    
$CONECTOR mysql_connect($SERVIDOR$USUARIO$PALABRA);
    
mysql_select_db($BASE$CONECTOR);
mysql_query("SET NAMES 'ISO-8859-1'");
?>
mas claro no pude haber sido.. jajjaa. espero que te sirva amigo y me dices como te fue.

saludos
  #4 (permalink)  
Antiguo 18/11/2010, 13:35
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Imagen base de datos + carpeta

hay algo que no entiendo, por que pones aca ..("INSERT INTO imagenes(titulo,imagen,fecha) a imagen? si en ningun lugar lo utilizas, esta muy bueno lo que me pasaste!! gracias
  #5 (permalink)  
Antiguo 18/11/2010, 13:49
 
Fecha de Ingreso: febrero-2010
Ubicación: cba
Mensajes: 203
Antigüedad: 14 años, 2 meses
Puntos: 16
Respuesta: Imagen base de datos + carpeta

presta atencion en la consulta sql:

Código PHP:
mysql_query("INSERT INTO imagenes(titulo,imagen,fecha)
                        VALUES('$titulo','$nombre_archivo',NOW())"
); 
imagen es el nombre del campo de la tabla imagenes, ahi vas a guardar la ruta de la imagen, con la variable $nombre_archivo, que tiene el nombre de la imagen que quieras cargar en la BD.

Código PHP:
$nombre_archivo "imagenes/".$_FILES['userfile']['name']; 
Si todavia no entiendes, te lo digo en "español" que hace esa consulta:

Inserta en la tabla IMAGENES (en los campos, TITULO,IMAGEN,FECHA), los valores de las variables ($TITULO,$NOMBRE_ARCHIVO,NOW),

la variable $TITULO viene del formulario anterior.
la variable $NOMBRE_ARCHIVO viene del formulario anterior, viene del <input file>

espero entiendas.
saludos
  #6 (permalink)  
Antiguo 18/11/2010, 13:54
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Imagen base de datos + carpeta

Si gracias ahora si, pero lo que no funciona es para ver esas imagenes.. :S cuando cree el archivoi nuevo pegue el codigo y solo me muestra el titulo, me fije si al menos copiaba las imagenes a la carpeta y si las copio porque aparecen , pero en el html no me aparece, nada mas el titulo


Gracias!!!!
  #7 (permalink)  
Antiguo 18/11/2010, 14:08
 
Fecha de Ingreso: febrero-2010
Ubicación: cba
Mensajes: 203
Antigüedad: 14 años, 2 meses
Puntos: 16
Respuesta: Imagen base de datos + carpeta

te fijaste en el campo imagen en la BD, si aparece la ruta de la imagen??

si no prueba cambiando las comillas simples a dobles asi de esta forma:

Código PHP:
echo  '<img src="$FILA4[imagen]" width="430" height="280" border="0" />'
dime si funciona.

saludos
  #8 (permalink)  
Antiguo 18/11/2010, 17:42
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Imagen base de datos + carpeta

Ahi esta era que el atributo de la base de datos 'imagen' estaba en INT lo puse varchar y anduvo !!.. gracias!!!!

Etiquetas: carpetas
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 10:42.