Almacenar archivos enviados por el usuario en una base de datos MySQL

A veces es útil recopilar datos de los usuarios de su sitio web y almacenar esta información en un MySQL base de datos. Ya hemos visto que puede completar una base de datos usando PHP, ahora agregaremos la practicidad de permitir que los datos se agreguen a través de un formulario web fácil de usar.

A continuación, debe hacer process.php, la página a la que nuestro formulario envía sus datos. Aquí hay un ejemplo de cómo recopilar estos datos para publicarlos en la base de datos MySQL:

Por supuesto, antes de probarlo, debemos asegurarnos de que la tabla realmente exista. La ejecución de este código debería crear una tabla que se pueda usar con nuestros archivos de muestra:

Ahora ya sabe cómo almacenar datos de usuario en MySQL, así que vamos un paso más allá y aprendamos cómo cargar un archivo para almacenarlo. Primero, hagamos nuestra base de datos de muestra:

Lo primero que debe notar es un campo llamado carné de identidad eso se establece en AUTOINCREMENTO. Que es esto tipo de datos significa que contará para asignar a cada archivo un ID de archivo único que comience en 1 y vaya a 9999 (ya que especificamos 4 dígitos). Probablemente también notará que nuestro campo de datos se llama

instagram viewer
LONGBLOB. Hay muchos tipos de BLOB como hemos mencionado antes. TINYBLOB, BLOB, MEDIUMBLOB y LONGBLOB son sus opciones, pero configuramos las nuestras en LONGBLOB para permitir los archivos más grandes posibles.

A continuación, crearemos un formulario para permitir que el usuario cargue su archivo. Esta es solo una forma simple, obviamente, podrías vestirla si quisieras:

A continuación, necesitamos crear upload.php, que tomará el archivo de nuestros usuarios y lo almacenará en nuestra base de datos. A continuación se muestra una codificación de muestra para upload.php.

A continuación, utiliza el PESTAÑAS función. Lo que esto hace es agregar barras invertidas si es necesario en el nombre del archivo para que no obtengamos un error cuando consultamos la base de datos. Por ejemplo, si tenemos Billy'sFile.gif, lo convertirá a Billy'sFile.gif. FOPEN abre el archivo y FREAD es un archivo binario seguro leído para que el PESTAÑAS se aplica a los datos dentro del archivo si es necesario.

Luego, agregamos toda la información que nuestro formulario recopiló en nuestra base de datos. Notará que enumeramos los campos primero, y los valores en segundo lugar, por lo que no intentamos accidentalmente insertar datos en nuestro primer campo (el campo ID de asignación automática).

Ya aprendimos a recuperar datos simples de nuestra base de datos MySQL. Del mismo modo, almacenar sus archivos en una base de datos MySQL no sería muy práctico si no hubiera una forma de recuperarlos. La forma en que vamos a aprender a hacer esto es asignando a cada archivo una URL basada en su número de identificación. Si recuerda cuando subimos los archivos, automáticamente asignamos un número de identificación a cada uno de ellos. Usaremos eso aquí cuando devolvamos los archivos. Guarde este código como download.php

Ahora para recuperar nuestro archivo, apuntamos nuestro navegador a: http://www.yoursite.com/download.php? id = 2 (reemplace el 2 con cualquier ID de archivo que desee descargar / mostrar)

Este código es la base para hacer muchas cosas. Con esto como base, puede agregar una consulta de base de datos que enumere los archivos y colocarlos en un menú desplegable para que las personas elijan. O bien, puede establecer que ID sea un número creado aleatoriamente para que se muestre aleatoriamente un gráfico diferente de su base de datos cada vez que una persona visita. Las posibilidades son infinitas.

Al igual que nuestro código anterior que descargaba archivos, este script permite eliminar archivos simplemente escribiendo su URL: http://yoursite.com/remove.php? id = 2 (reemplace 2 con la ID que desea eliminar). Por razones obvias, desea ten cuidado con este código. Esto es, por supuesto, para demostración, cuando realmente creamos aplicaciones, querremos poner salvaguardas que pregúntele al usuario si está seguro de querer eliminarlo, o tal vez solo permita que las personas con contraseña eliminen archivos. Este código simple es la base sobre la que construiremos para hacer todas esas cosas.

instagram story viewer