Fotos en mysql

Me gustaría saber como puedo insertar pequeñas imágenes directamente dentro de la base de datos i como visualizarlas.
Respuesta
1
En realidad no existe un tipo de campo para imágenes en mysql, lo que puedes hacer es almacenar el nombre del archivo en un campo texto y guardar las imágenes en una carpeta. Para mostrar las fotos:
<?
$sql="SELECT nombre_foto FROM tabla";
$res=mysql_query($res);
$num=mysql_num_rows($res);
$carpeta_fotos="/fotos";
echo "<table align=center><tr>";
for($i=0;$i<$num;$i++) {
if($i%5==0) echo "</tr><tr>"; //Mostrará 5 imágenes por línea
echo "<td><img src='".$carpetafotos.mysql_result($res,$i,'nombre_foto')."'></td>";
}
echo "</tr></table>";
?>
Ahí te explica cómo subir fotos al servidor desde formulario:
http://www.php.net/manual/es/features.file-upload.php
Saludos,
iNphYx

2 respuestas más de otros expertos

Respuesta
1
Si se puede, pero guardar las fotos directamente en la Base de Datos tiene varias desventajas:
1. Ocupan mucho espacio en la base de datos.
2. Alentan la velocidad de respuesta a la hora de traer la foto.
3. Es más difícil darle mantenimiento.
Te mando una dirección donde explican como hacer para guardar las fotos en la base de datos:
http://www.devarticles.com/art/1/68
Lo que yo te recomiendo es que guardes por separado las fotos, por ejemplo si esas fotos corresponden a productos, tener la información del producto en la base de datos y las fotos en una carpeta aparte.
Te puedo decir que funciona muy bien, porque es lo que yo utilizo. Si te interesa mandame un correo y te mando un ejemplo de como se hacerlo.
Bye
Respuesta
1
No te recomiendo insertar las imágenes en la base de datos
Lo que yo hago es guardar el nombre de la imagen en la tabla.
Entonces, si subo el archivo "vacaciones.jpg" lo guardo en el directorio imágenes y en el registro de la tabla.
Cuando quiero mostrar este campo en la web, escribo
<img src="imagenes/<%=rs("imagen")%>">
Creo yo que es la mejor opción ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas