Comunidad de diseño web y desarrollo en internet online

Cargar imagenes en php y Mysql (inmobilliaria)

Citar            
MensajeEscrito el 11 Abr 2006 12:31 am
Buenas, Aca Matias nuevamente pidiendo ayuda.
estoy armando un sistemita para una inmobiliaria
kiero insertar a cada casa una serie de fotos si se puede dentro de la base de datos como "LONGBLOB" .
yo cargo los datos asi :
----------

Código :

if ($ENVIAR) {
    // process form ALTA DE Programas
   if($NOMBRE_TIPO_PROP != "")
   {
    echo insert_tipo_prop ($NOMBRE_TIPO_PROP);
    }
   else{
   $mensage="<br /><div class='error' >¡¡¡el campo esta vacio !!!</div> <br />";
   }
   }
?>

-------
formulario
-------

Código :

   <td width="80%" bgcolor="#FFFFFF"  class="texto_usuario"><form id="form1" name="form1" method="post" action="alta_tipo_prop.php">   <?
        echo" $mensageok";
        ?>
          Ingreso de Tipo de Propiedades<br /><br />
         <?
        echo" $mensage";
        ?>    
           
          Nombre:
          <input type="text" id="NOMBRE_TIPO_PROP" name="NOMBRE_TIPO_PROP" value=""/>
          <br />
          <br />
          <input type="submit" name="ENVIAR" id="ENVIAR" value="ENVIAR" />
        </form></td>
      </tr>

-------
Archivo de dunciones al cual llamo
-------

Código :

function insert_prop ($NOMBRE_TIPO_PROP)
   { $sql = "INSERT INTO TIPO_PROP (NOMBRE_TIPO_PROP ) VALUES ('$NOMBRE_TIPO_PROP')";
   $result = mysql_query($sql);
   if (!mysql_error())
   {
   $mensageok="<br /><div class='ok' >Se Agrego correctamente el tipo de Propiedad : $NOMBRE_TIPO_PROP </div> <br />";
    
   }
   else
   {
   print " <div class= 'error' align='center' class='error'>ERROR al dar de  ALTA al tipo de propiedad $NOMBRE_TIPO_PROP  - ". mysql_error().":". mysql_error()."<br><br></div>";
   }   
}
?>

-------
asi lo muestro
-------

Código :

      <tr>
        <td bgcolor="#FFFFFF" class="texto_usuario">Tipos de Propiedades en base de datos:<br />
            <? $result2 = mysql_query("SELECT * FROM TIPO_PROP"); 
   if ($row2 = mysql_fetch_array($result2))
   { do 
      {
    echo "<br>ID:".$row2[TIPO_PROP_ID]."- ".$row2[NOMBRE_TIPO_PROP].".<br>";
                  }
    
         while ($row2 = mysql_fetch_array($result2)); 
         
    } else 
      {
       echo "nose encontraron registros <br>";
      }
      ?>
        </td>
      </tr>

---------
hasta aca anda perfecto...
¿ como hago ahora para agregarle la imagen?
y luego obiamente mostrarla ...
AYUDA GRACIAS !!!!

Por grupok12

4 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 11 Abr 2006 01:48 am
mmm yo no almacenaria la imagen en una base de datos, lo que yo haria es almacenar la ruta de la imagen en el servidor, y luego darle esa ruta al atributo src de la etiqueta <img de html, eso es lo que yo haria :P

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 11 Abr 2006 01:17 pm
Si , la pregunta venia a como guardo la imagenes en la base de datos Mysql .
Quiero insertar a cada casa una serie de fotos si se puede dentro de la base de datos como "LONGBLOB" .
Que quedan guardadas en la base de datos ....
AYUDA GRACIAS

Por grupok12

4 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 11 Abr 2006 02:25 pm
Pues eso... que las fotos no quedan guardadas en la base de datos como dice Maikel, solo las rutas... es lo más recomendable.

Por pichichi

53 de clabLevel



Genero:Masculino  

Mérida

firefox
Citar            
MensajeEscrito el 13 Abr 2006 01:44 am
exactamente solo las rutas...

Podes crear un directorio especialmente para guardar las pics ahi, rcuerda q debes dale permiso de escritura a esa carpeta

salu2

Por 3w

145 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 Abr 2008 07:26 pm
Meter imagenes en una base de datos parecería interesante sin embargo esto trae como consecuencia que la base de datos se ponga muy pero muy pesada, claro que si hablas de una imagen 2 o 3 imágenes normal pero si manejas mas imagenes seria un caos. por lo que la mejor alternativa es como dicen los anteriores comentarios: guardar las URL de las imagenes.

Por JPC

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 19 Sep 2010 07:52 am
Que onda pues yo pense en hacer lo mismo por un momento pero realmente no tiene ningun sentido meter las miniaturas en la base de datos y hacer un script para meter la foto tamaño real en una carpeta de almacen, pero si asi fuera el deseo se puede me acabo de encontrar esto:

http://www.buayacorp.com/archivos/guardar-una-imagen-y-su-miniatura-a-un-campo-blob-de-mysql/

Ahi dice somo hacer lo que grupok12 quiere, pero una forma tambien para ocupar esta funcion correctamente seria crear un algoritmo en el que la imagen se genere en codigo binario y ese codigo binario almacenarlo en una base de datos especial para puras imagenes esto puede ayudar a proteger las imagenes ya que al momento de manipular la transformacion a imagen nuevamente cuando se necesite mostrar se pueden tomar medidas de seguridad avanzadas... Desde mi punto de vista pocos proyectos requieren de hacer esto asi que no nos andemos con jaladas =P

Por atonab

27 de clabLevel



Genero:Masculino  

Web Design & Productor

msie8
Citar            
MensajeEscrito el 20 Sep 2010 01:08 am
Como ya dijero, guardar las imagenes en la base de datos no es lo mas recomendable, si no almacenarlas en un directorio en el servidor y guardar en base de datos solo su ruta.
Pero respondiendo a tu cuestión, lo que tienes que hacer, es crear un archivo que será el que se encargue de mostrar la imágen, en este archivo, lo único que se hacer es mandar headers con el mime-type de la imagen e imprimir el campo bloob que guarda los datos de la imágen.

Por sikloidz

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jun 2011 05:06 pm
bueno yo cargo las imagenes a la bd y luego las muestro este es un ejemplo del codigo que utilizo:
Crear Base de datos y Tabla

Vamos a comenzar creando una Base de Datos y una tabla con los siguientes campos:

* Id_banner (Llave, autonumérico)
* Nombre (Texto)
* Descripcion (Texto)
* Imagen (Blob)

2.-Conectarnos a la BD

Ahora simplemente nos conectamos y seleccioanmso nuestra Base de Datos bd_banners esto en mysql.

$link = mysql_connect('localhost', 'root', 'password');
if (!$link)
die('Error al conectarse con MySQL: ' . mysql_error().' <br>Número del error: '.mysql_errno());
if (! @mysql_select_db("db_AdMX",$link)){
echo "No se pudo conectar correctamente con la Base de datos";
exit();
}

3.-Almacenar imágen en la BD
debemos de procesar la imagen para llegar a convertirla en datos binarios.

$image = imagecreatefromgif('imagen.gif');
ob_start();
imagegif($image);
$jpg = ob_get_contents();
ob_end_clean();

4.-Ahora si vamos a almacenarla, para esto convertimos la infromación de la imágen en sql-safe y simplemente hacemos un query para guardar.

$jpg = str_replace('##','##',mysql_escape_string($jpg));
$result = mysql_query("INSERT INTO tbl_Banner SET Imagen='$jpg'");

5.-Extraer la imágen de la BD y mostrarla en el navegador
mediante un simple SELECT y la vamos a mostrar .

$result = mysql_query("SELECT Imagen FROM tbl_Banner WHERE Id_imagen=11");
$result_array = mysql_fetch_array($result);
header("Content-Type: image/gif");
echo $result_array[0];

Por zuinny91

0 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.