Speichern von vom Benutzer übermittelten Daten und Dateien in MySQL

Daniel Sambraus/Getty Images
01 von 07
Erstellen eines Formulars
Manchmal ist es sinnvoll, Daten von Ihren Website-Benutzern zu sammeln und diese Informationen in einemMySQLDatenbank. Wir haben bereits gesehen, dass Sie eine Datenbank mit füllen könnenPHP, jetzt werden wir die praktische Möglichkeit hinzufügen, dass die Daten über ein benutzerfreundliches Webformular hinzugefügt werden können.
Als erstes erstellen wir eine Seite mit einem Formular. Für unsere Demonstration machen wir eine sehr einfache:
|_+_|
|_+_|
02 von 07 Einfügen in - Hinzufügen von Daten aus einem FormularAls nächstes müssen Sie process.php erstellen, die Seite, an die unser Formular seine Daten sendet. Hier ist ein Beispiel dafür, wie diese Daten gesammelt werden, um sie an die MySQL-Datenbank zu senden:
|_+_|
Wie Sie sehen können, weisen wir als Erstes den Daten von der vorherigen Seite Variablen zu. Wir fragen dann einfach die Datenbank ab, um diese neuen Informationen hinzuzufügen.
Bevor wir es versuchen, müssen wir natürlich sicherstellen, dass die Tabelle tatsächlich existiert. Durch Ausführen dieses Codes sollte eine Tabelle erstellt werden, die mit unseren Beispieldateien verwendet werden kann:
|_+_| 03 von 07Datei-Uploads hinzufügen
Jetzt wissen Sie, wie man Benutzerdaten in MySQL speichert, also gehen wir noch einen Schritt weiter und lernen, wie man eine Datei zur Speicherung hochlädt. Lassen Sie uns zuerst unsere Beispieldatenbank erstellen:
|_+_|Das erste, was Sie bemerken sollten, ist ein Feld namens Ich würde das ist eingestellt AUTO_INCREMENT . Was ist das Datentyp bedeutet, dass hochgezählt wird, um jeder Datei eine eindeutige Datei-ID zuzuweisen, beginnend bei 1 bis 9999 (da wir 4 Ziffern angegeben haben). Sie werden wahrscheinlich auch bemerken, dass unser Datenfeld aufgerufen wird LANGBLOB. Wie wir bereits erwähnt haben, gibt es viele Arten von BLOBs. TINYBLOB, BLOB, MEDIUMBLOB und LONGBLOB sind Ihre Optionen, aber wir setzen unsere auf LONGBLOB, um die größtmöglichen Dateien zu ermöglichen.
Als Nächstes erstellen wir ein Formular, damit der Benutzer seine Datei hochladen kann. Dies ist nur eine einfache Form, natürlich könnten Sie sie verkleiden, wenn Sie wollten:
|_+_||_+_|
Beachten Sie unbedingt den Enctype, er ist sehr wichtig!
04 von 07Hinzufügen von Datei-Uploads zu MySQL
Als nächstes müssen wir tatsächlich eine upload.php erstellen, die unsere Benutzerdatei nimmt und in unserer Datenbank speichert. Unten finden Sie eine Beispielcodierung für upload.php.
|_+_|
|_+_|
|_+_|
|_+_|
|_+_|
Erfahren Sie auf der nächsten Seite mehr darüber, was dies tatsächlich bewirkt.
05 von 07Uploads hinzufügen erklärt
Das erste, was dieser Code tatsächlich tut, ist eine Verbindung zur Datenbank (Sie müssen dies durch Ihre tatsächlichen Datenbankinformationen ersetzen).
Als nächstes verwendet es die ADDSLASSEN Funktion. Dadurch werden dem Dateinamen bei Bedarf Backslashes hinzugefügt, damit beim Abfragen der Datenbank kein Fehler angezeigt wird. Wenn wir zum Beispiel Billy'sFile.gif haben, wird es in Billy'sFile.gif konvertiert. FÖFFNEN öffnet die Datei und FREUDE ist eine binäre sichere Datei, die gelesen wird, damit die ADDSLASSEN wird bei Bedarf auf Daten in der Datei angewendet.
Als nächstes fügen wir alle Informationen, die unser Formular gesammelt hat, in unsere Datenbank ein. Sie werden feststellen, dass wir zuerst die Felder und dann die Werte aufgelistet haben, damit wir nicht versehentlich versuchen, Daten in unser erstes Feld (das automatisch zuweisende ID-Feld) einzufügen.
Abschließend drucken wir die Daten zur Überprüfung durch den Benutzer aus.
06 von 07Abrufen von Dateien
Das Apportieren haben wir bereits gelernteinfache Datenaus unserer MySQL-Datenbank. Ebenso wäre es nicht sehr praktisch, Ihre Dateien in einer MySQL-Datenbank zu speichern, wenn es keine Möglichkeit gäbe, sie abzurufen. Wir werden dies lernen, indem wir jeder Datei eine URL basierend auf ihrer ID-Nummer zuweisen. Wenn Sie sich erinnern, haben wir beim Hochladen der Dateien jeder Datei automatisch eine ID-Nummer zugewiesen. Wir werden das hier verwenden, wenn wir die Dateien zurückrufen. Speichern Sie diesen Code als download.php
|_+_|Um nun unsere Datei abzurufen, richten wir unseren Browser auf: http://www.yoursite.com/download.php?id=2 (ersetzen Sie die 2 durch die Datei-ID, die Sie herunterladen/anzeigen möchten)
Dieser Code ist die Basis für viele Dinge. Auf dieser Grundlage können Sie eine Datenbankabfrage hinzufügen, die Dateien auflistet, und sie in einem Dropdown-Menü zur Auswahl stellen. Oder Sie könnten die ID auf eine zufällig erstellte Nummer setzen, sodass bei jedem Besuch einer Person zufällig eine andere Grafik aus Ihrer Datenbank angezeigt wird. Die Möglichkeiten sind endlos.
07 von 07Dateien entfernen
Hier ist ein sehr einfach Methode zum Entfernen von Dateien aus der Datenbank. Du möchtest vorsichtig sein mit diesem!! Speichern Sie diesen Code als remove.php
|_+_|Wie unser vorheriger Code, der Dateien heruntergeladen hat, ermöglicht dieses Skript das Entfernen von Dateien, indem einfach ihre URL eingegeben wird: http://yoursite.com/remove.php?id=2 (ersetzen Sie 2 durch die ID, die Sie entfernen möchten.) Für offensichtlichen Gründen, Sie wollen Seien Sie vorsichtig mit diesem Code . Dies dient natürlich zu Demonstrationszwecken, wenn wir tatsächlich Anwendungen erstellen, werden wir Schutzmaßnahmen einbauen wollen, die den Benutzer fragen, ob er sicher ist, dass er Dateien löschen möchte, oder vielleicht nur Personen mit einem Passwort erlauben, Dateien zu entfernen. Dieser einfache Code ist die Basis, auf der wir aufbauen werden, um all diese Dinge zu tun.