Aunque el método estándar para subir imágenes (y en general archivos) a un servidor es tan simple como (en resumen) subir el archivo y moverlo a una carpeta, existe la posibilidad de subir las imágenes a la base de datos (MySQL) a través de AJAX y alojarla en binario en un campo Blob (longblob, en este caso, con 2^32 – 1 caracteres, o sea, 4.294.967.295 caracteres) de la tabla en la BBDD.
En resumen, es algo así lo que vamos a hacer hoy:
Los parámetros de la petición al script en PHP son algo como esto:
Bien, comencemos.
¿Cómo enviar imágenes a MySQL?
Seguimos con el desarrollo en local: XAMPP (Apache y MySQL con PHPMyAdmin) en Windows.
1 de 6: HTML
En un archivo .php tenemos que agregar un formulario que acepte UTF-8, con método POST, y enctype «multipart/form-data». Además, añadiremos un ID que, en mi caso, se llamará enviarimagenes.
Dentro de este formulario debe haber un input de tipo file, al cual le pondré de nombre imagen. Además, incluiré un input de tipo texto con el nombre titulo y un textarea con el nombre descripcion (los nombres sin tildes). Y obviamente un botón de submit.
Debajo del formulario pondremos un contenedor donde se mostrarán los mensajes correspondientes.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Subir imagen</title>
</head>
<body>
<form accept-charset="utf-8" method="POST" id="enviarimagenes" enctype="multipart/form-data" >
<label>Titulo</label><br>
<input type="text" name="titulo" />
<br><br>
<label>Descripcion</label><br>
<textarea name="descripcion"></textarea>
<br><br>
<input type="file" name="imagen"/>
<br><br>
<button type="submit">ENVIAR</button>
</form>
<hr>
<div id="mensaje"></div>
<hr>
</body>
</html>
En esta ocasión no le pondré límite de caracteres a las entradas de texto, para no complicar innecesariamente el script de PHP.
Read More