Memorizzazione di dati e file inviati dall'utente in MySQL
Daniel Sambraus/Getty Images
01 di 07
Creazione di un modulo
A volte è utile raccogliere dati dagli utenti del tuo sito web e archiviare queste informazioni in unMySQLBanca dati. Abbiamo già visto che puoi popolare un database usandoPHP, ora aggiungeremo la praticità di consentire l'aggiunta dei dati tramite un modulo web di facile utilizzo.
La prima cosa che faremo è creare una pagina con un modulo. Per la nostra dimostrazione ne faremo una molto semplice:
|_+_|
|_+_|
02 di 07 Inserisci in - Aggiunta di dati da un moduloSuccessivamente, devi creare process.php, la pagina a cui il nostro modulo invia i suoi dati. Ecco un esempio di come raccogliere questi dati da inviare al database MySQL:
|_+_|
Come puoi vedere, la prima cosa che facciamo è assegnare variabili ai dati della pagina precedente. Quindi interroghiamo semplicemente il database per aggiungere queste nuove informazioni.
Ovviamente, prima di provarlo, dobbiamo assicurarci che il tavolo esista davvero. L'esecuzione di questo codice dovrebbe creare una tabella che può essere utilizzata con i nostri file di esempio:
|_+_| 03 del 07Aggiungi caricamenti di file
Ora sai come archiviare i dati degli utenti in MySQL, quindi facciamo un ulteriore passo avanti e impariamo come caricare un file per l'archiviazione. Per prima cosa, creiamo il nostro database di esempio:
|_+_|La prima cosa che dovresti notare è un campo chiamato id quello è impostato su INCREMENTO AUTOMATICO . Cosa questo tipo di dati significa che conterà fino ad assegnare a ciascun file un ID file univoco che inizia da 1 e arriva a 9999 (poiché abbiamo specificato 4 cifre). Probabilmente noterai anche che il nostro campo dati è chiamato LUNGO BLOB. Esistono molti tipi di BLOB come abbiamo menzionato prima. TINYBLOB, BLOB, MEDIUMBLOB e LONGBLOB sono le tue opzioni, ma impostiamo le nostre su LONGBLOB per consentire i file più grandi possibili.
Successivamente, creeremo un modulo per consentire all'utente di caricare il suo file. Questa è solo una forma semplice, ovviamente potresti vestirla se lo desideri:
|_+_||_+_|
Assicurati di notare l'enctype, è molto importante!
04 del 07Aggiunta di caricamenti di file a MySQL
Successivamente, dobbiamo creare effettivamente upload.php, che prenderà il file dei nostri utenti e lo memorizzerà nel nostro database. Di seguito è riportato un esempio di codifica per upload.php.
|_+_|
|_+_|
|_+_|
|_+_|
|_+_|
Scopri di più su cosa fa effettivamente nella pagina successiva.
05 del 07Aggiunta di caricamenti spiegata
La prima cosa che fa effettivamente questo codice è connettersi al database (è necessario sostituirlo con le informazioni effettive del database).
Successivamente, utilizza il AGGIUNTA funzione. Ciò che fa è aggiungere barre inverse, se necessario, nel nome del file in modo da non ricevere un errore quando interroghiamo il database. Ad esempio, se abbiamo Billy'sFile.gif, lo convertirà in Billy'sFile.gif. FOPEN apre il file e FARE è un file binario sicuro letto in modo che il AGGIUNTA viene applicato ai dati all'interno del file, se necessario.
Successivamente, aggiungiamo tutte le informazioni raccolte dal nostro modulo nel nostro database. Noterai che abbiamo elencato prima i campi e poi i valori, quindi non proviamo accidentalmente a inserire dati nel nostro primo campo (il campo ID di assegnazione automatica).
Infine, stampiamo i dati che l'utente può rivedere.
06 del 07Recupero di file
Abbiamo già imparato a recuperaredati semplicidal nostro database MySQL. Allo stesso modo, archiviare i file in un database MySQL non sarebbe molto pratico se non ci fosse un modo per recuperarli. Il modo in cui impareremo a farlo è assegnando a ciascun file un URL basato sul loro numero ID. Se ricorderete quando abbiamo caricato i file, abbiamo assegnato automaticamente a ciascuno dei file un numero ID. Lo useremo qui quando richiameremo i file. Salva questo codice come download.php
|_+_|Ora per recuperare il nostro file, puntiamo il nostro browser a: http://www.yoursite.com/download.php?id=2 (sostituisci il 2 con qualsiasi ID file che desideri scaricare/visualizzare)
Questo codice è la base per fare molte cose. Con questo come base, puoi aggiungere una query del database che elencherà i file e inserirli in un menu a discesa che le persone possono scegliere. Oppure puoi impostare l'ID in modo che sia un numero creato in modo casuale in modo che un'immagine diversa dal tuo database venga visualizzata casualmente ogni volta che una persona visita. Le possibilità sono infinite.
07 del 07Rimozione di file
Ecco un molto semplice modo di rimuovere i file dal database. Tu vuoi stai attento con questo!! Salva questo codice come remove.php
|_+_|Come il nostro codice precedente che scaricava i file, questo script consente di rimuovere i file semplicemente digitando il loro URL: http://yoursite.com/remove.php?id=2 (sostituisci 2 con l'ID che desideri rimuovere.) Per ragioni ovvie, vuoi stai attento con questo codice . Questo è ovviamente a scopo dimostrativo, quando creiamo effettivamente applicazioni vorremo inserire delle protezioni che chiedono all'utente se è sicuro di voler eliminare, o forse solo consentire alle persone con una password di rimuovere i file. Questo semplice codice è la base su cui costruiremo per fare tutte queste cose.