Stockage des données et des fichiers soumis par l'utilisateur dans MySQL

Daniel Sambraus/Getty Images
01 de 07
Création d'un formulaire
Parfois, il est utile de collecter des données auprès des utilisateurs de votre site Web et de stocker ces informations dans unMySQLbase de données. Nous avons déjà vu que vous pouviez remplir une base de données en utilisantPHP, nous allons maintenant ajouter l'aspect pratique de permettre l'ajout des données via un formulaire Web convivial.
La première chose que nous allons faire est de créer une page avec un formulaire. Pour notre démonstration nous allons en faire une très simple :
|__+_|
|__+_|
02 de 07 Insérer dans - Ajouter des données à partir d'un formulaireEnsuite, vous devez créer process.php, la page à laquelle notre formulaire envoie ses données. Voici un exemple de collecte de ces données à publier dans la base de données MySQL :
|__+_|
Comme vous pouvez le voir, la première chose que nous faisons est d'attribuer des variables aux données de la page précédente. Il nous suffit ensuite d'interroger la base de données pour ajouter ces nouvelles informations.
Bien sûr, avant de l'essayer, nous devons nous assurer que la table existe réellement. L'exécution de ce code devrait créer une table pouvant être utilisée avec nos exemples de fichiers :
|__+_| 03 de 07Ajouter des téléchargements de fichiers
Maintenant que vous savez comment stocker des données utilisateur dans MySQL, allons un peu plus loin et apprenons à télécharger un fichier pour le stockage. Commençons par créer notre exemple de base de données :
|__+_|La première chose que vous devriez remarquer est un champ appelé identifiant qui est fixé à INCRÉMENTATION AUTOMATIQUE . Qu'est-ce que c'est Type de données signifie qu'il comptera pour attribuer à chaque fichier un ID de fichier unique commençant à 1 et allant jusqu'à 9999 (puisque nous avons spécifié 4 chiffres). Vous remarquerez probablement aussi que notre champ de données s'appelle LONGBLOB. Il existe de nombreux types de BLOB comme nous l'avons mentionné précédemment. TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB sont vos options, mais nous définissons les nôtres sur LONGBLOB pour permettre les fichiers les plus volumineux possibles.
Ensuite, nous allons créer un formulaire pour permettre à l'utilisateur de télécharger son fichier. Ceci est juste un formulaire simple, évidemment, vous pouvez l'habiller si vous le souhaitez :
|__+_||__+_|
Assurez-vous de prendre note de l'enctype, c'est très important !
04 de 07Ajouter des téléchargements de fichiers à MySQL
Ensuite, nous devons réellement créer upload.php, qui prendra notre fichier d'utilisateurs et le stockera dans notre base de données. Vous trouverez ci-dessous un exemple de codage pour upload.php.
|__+_|
|__+_|
|__+_|
|__+_|
|__+_|
En savoir plus sur ce que cela fait réellement sur la page suivante.
05 de 07Ajout de téléchargements expliqué
La première chose que fait ce code est de se connecter à la base de données (vous devez le remplacer par les informations réelles de votre base de données.)
Ensuite, il utilise le ADDSLASHS fonction. Ce que cela fait, c'est ajouter des barres obliques inverses si nécessaire dans le nom du fichier afin que nous n'obtenions pas d'erreur lorsque nous interrogeons la base de données. Par exemple, si nous avons Billy'sFile.gif, il le convertira en Billy'sFile.gif. OUVERT ouvre le fichier et FREAD est un fichier binaire sécurisé lu afin que le ADDSLASHS est appliqué aux données du fichier si nécessaire.
Ensuite, nous ajoutons toutes les informations recueillies par notre formulaire dans notre base de données. Vous remarquerez que nous avons répertorié les champs en premier et les valeurs en second afin de ne pas essayer accidentellement d'insérer des données dans notre premier champ (le champ d'ID d'attribution automatique.)
Enfin, nous imprimons les données pour que l'utilisateur les examine.
06 de 07Récupération de fichiers
Nous avons déjà appris à récupérerdonnées brutesde notre base de données MySQL. De même, stocker vos fichiers dans une base de données MySQL ne serait pas très pratique s'il n'y avait pas de moyen de les récupérer. La façon dont nous allons apprendre à le faire est d'attribuer à chaque fichier une URL basée sur leur numéro d'identification. Si vous vous souvenez quand nous avons téléchargé les fichiers, nous avons automatiquement attribué à chacun des fichiers un numéro d'identification. Nous l'utiliserons ici lorsque nous rappellerons les fichiers. Enregistrez ce code sous download.php
|__+_|Maintenant, pour récupérer notre fichier, nous dirigeons notre navigateur vers : http://www.yoursite.com/download.php?id=2 (remplacez le 2 par l'ID de fichier que vous souhaitez télécharger/afficher)
Ce code est la base pour faire beaucoup de choses. Avec ceci comme base, vous pouvez ajouter une requête de base de données qui répertorie les fichiers et les mettre dans un menu déroulant pour que les gens puissent choisir. Ou vous pouvez définir l'identifiant comme un numéro créé de manière aléatoire afin qu'un graphique différent de votre base de données s'affiche de manière aléatoire à chaque visite d'une personne. Les possibilités sont infinies.
07 de 07Suppression de fichiers
Voici une très simple moyen de supprimer des fichiers de la base de données. Vous voulez faire attention avec celui-ci!! Enregistrez ce code sous remove.php
|__+_|Comme notre code précédent qui téléchargeait des fichiers, ce script permet de supprimer des fichiers simplement en tapant leur URL : http://votresite.com/remove.php?id=2 (remplacez 2 par l'ID que vous souhaitez supprimer.) Pour raisons évidentes, vous voulez soyez prudent avec ce code . C'est bien sûr pour la démonstration, lorsque nous construisons des applications, nous voudrons mettre en place des protections qui demandent à l'utilisateur s'il est sûr de vouloir supprimer, ou peut-être n'autoriser que les personnes avec un mot de passe à supprimer des fichiers. Ce code simple est la base sur laquelle nous allons nous appuyer pour faire toutes ces choses.