A volte è utile raccogliere dati dagli utenti del tuo sito Web e archiviare queste informazioni in a MySQL Banca dati. Abbiamo già visto che puoi popolare un database usando PHP, ora aggiungeremo la praticità di consentire l'aggiunta dei dati tramite un modulo Web intuitivo.
Successivamente, devi creare process.php, la pagina a cui il nostro modulo invia i suoi dati. Ecco un esempio di come raccogliere questi dati per pubblicare sul database MySQL:
Naturalmente, prima di provarlo, dobbiamo assicurarci che la tabella esista effettivamente. L'esecuzione di questo codice dovrebbe creare una tabella che può essere utilizzata con i nostri file di esempio:
Ora sai come archiviare i dati utente in MySQL, quindi facciamo un passo avanti e impariamo come caricare un file per l'archiviazione. Innanzitutto, creiamo il nostro database di esempio:
La prima cosa che dovresti notare è un campo chiamato id che è impostato su INCREMENTO AUTOMATICO. Che cosa tipo di dati significa che conterà fino ad assegnare a ciascun file un ID file univoco a partire da 1 e andando a 9999 (poiché abbiamo specificato 4 cifre). Probabilmente noterai anche che viene chiamato il nostro campo dati
LONGBLOB. 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 il maggior numero possibile di file.Successivamente, creeremo un modulo per consentire all'utente di caricare il suo file. Questa è solo una forma semplice, ovviamente, potresti vestirla se volessi:
Successivamente, dobbiamo effettivamente creare upload.php, che prenderà il file dei nostri utenti e lo memorizzerà nel nostro database. Di seguito è riportato un esempio di codice per upload.php.
Successivamente, utilizza il addslashes funzione. Quello che fa è aggiungere barre rovesciate, se necessario, nel nome del file in modo da non ricevere un errore quando eseguiamo una query sul database. Ad esempio, se abbiamo Billy'sFile.gif, lo convertirà in Billy'sFile.gif. FOPEN apre il file e FREAD è un file binario sicuro letto in modo che il file addslashes 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 prima elencato i campi e poi i valori in modo da non tentare di inserire accidentalmente i dati nel nostro primo campo (il campo ID di assegnazione automatica).
Abbiamo già imparato a recuperare dati semplici dal nostro database MySQL. Allo stesso modo, archiviare i tuoi 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 in base al loro numero ID. Se ricorderai quando abbiamo caricato i file, abbiamo assegnato automaticamente a ciascun file un numero ID. Lo useremo qui quando richiamiamo 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 qualunque ID file desideri scaricare / visualizzare)
Questo codice è la base per fare molte cose. Con questo come base, è possibile aggiungere una query di database che elenchi i file e li inserisca in un menu a discesa che gli utenti possano scegliere. In alternativa, è possibile impostare l'ID in modo che sia un numero creato in modo casuale in modo tale che un grafico diverso dal database venga visualizzato in modo casuale ogni volta che una persona visita. Le possibilità sono infinite.
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 (sostituire 2 con l'ID che si desidera rimuovere.) Per ovvi motivi, si desidera fai attenzione con questo codice. Questo è ovviamente a scopo dimostrativo, quando realizzeremo effettivamente applicazioni che vorremmo mettere in sicurezza chiedi all'utente se è sicuro di voler eliminare, o forse consentire solo alle persone con password di rimuovere i file. Questo semplice codice è la base su cui baseremo per fare tutte queste cose.