Hur man lagrar användarinlämnade filer och data i MySQL

01

av 07

Skapa ett formulär

Ibland är det användbart att samla in data från dina webbplatsanvändare och lagra denna information i en MySQL-databas. Vi har redan sett att du kan fylla i en databas med PHP, nu kommer vi att lägga till det praktiska i att tillåta data att läggas till genom ett användarvänligt webbformulär.

 Det första vi kommer att göra är att skapa en sida med ett formulär.  För vår demonstration kommer vi att göra en mycket enkel: 

Ditt namn:
E-post:

Plats:

02

av 07

  Infoga i - Lägga till data från ett formulär 

 Därefter måste du göra process.php, sidan som vårt formulär skickar sina data till.  Här är ett exempel på hur man samlar in denna data för att skicka till MySQL-databasen: 


Som du kan se är det första vi gör att tilldela variabler till data från föregående sida. Vi frågar sedan bara databasen för att lägga till denna nya information.

 Innan vi provar det måste vi förstås se till att bordet faktiskt finns.  Genom att köra den här koden bör en tabell skapas som kan användas med våra exempelfiler: 

  SKAPA TABELL-data (namn VARCHAR(30), e-post VARCHAR(30), plats VARCHAR(30));  

03

av 07

 

Lägg till filuppladdningar

Nu vet du hur man lagrar användardata i MySQL, så låt oss ta det ett steg längre och lära oss hur man laddar upp en fil för lagring. Låt oss först göra vår exempeldatabas:

  SKAPA TABELL-uppladdningar (id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY, beskrivning CHAR(50) , data LONGBLOB, filnamn CHAR(50), filstorlek CHAR(50), filtyp CHAR(50) );   
Det första du bör lägga märke till är ett fält som heter
id som är inställd på
AUTO_INCREMENT
.  Vad denna datatyp betyder är att det kommer att räknas upp för att tilldela varje fil ett unikt fil-ID som börjar på 1 och går till 9999 (eftersom vi angav 4 siffror).  Du kommer förmodligen också att märka att vårt datafält heter 
LÅNGBLOB. Det finns många typer av BLOB som vi har nämnt tidigare. TINYBLOB, BLOB, MEDIUMBLOB och LONGBLOB är dina alternativ, men vi ställer in vårt på LONGBLOB för att tillåta största möjliga filer.

Därefter kommer vi att skapa ett formulär för att tillåta användaren att ladda upp sin fil. Detta är bara en enkel form, självklart kan du klä upp den om du vill:

  

Beskrivning:

Fil att ladda upp:

 

 Var noga med att lägga märke till enctypen, den är väldigt viktig! 
 

04
av 07

Lägga till filuppladdningar till MySQL

Därefter måste vi faktiskt skapa upload.php, som tar vår användarfil och lagrar den i vår databas. Nedan finns exempel på kodning för upload.php.

  Fil-ID: 
$id

"; print "

Filnamn: $form_data_name

"; skriv ut "

Filstorlek: $form_data_size


"; skriv ut "

Fil Typ:
$form_data_type

"; print "För att ladda upp en annan fil klicka här"; ?>

Läs mer om vad detta faktiskt gör på nästa sida.

05
av 07

Lägga till uppladdningar förklaras

Det första som den här koden faktiskt gör är att ansluta till databasen (du måste ersätta denna med din faktiska databas information .)

Därefter använder den

LÄGG TILL STRECK funktion.  Vad detta gör är att lägga till omvänt snedstreck om det behövs i filnamnet så att vi inte får ett felmeddelande när vi frågar databasen.  Till exempel, om vi har Billy'sFile.gif, kommer det att konvertera detta till Billy'sFile.gif.  FOPEN
 öppnar filen och 
FREAD är en binär säker fil som läses så att 

LÄGG TILL STRECK

tillämpas på data i filen om det behövs.

Därefter lägger vi till all information som vårt formulär samlat in i vår databas. Du kommer att märka att vi listade fälten först och värdena efter det så att vi inte av misstag försöker infoga data i vårt första fält (det automatiska tilldelnings-ID-fältet.)

Slutligen skriver vi ut data för användaren att granska.

 
06
av 07
 

Hämtar filer

 Vi har redan lärt oss hur t  o hämta vanlig data från vår MySQL-databas.  På samma sätt skulle det inte vara särskilt praktiskt att lagra dina filer i en MySQL-databas om det inte fanns ett sätt att hämta dem.  Sättet vi ska lära oss att göra detta är genom att tilldela varje fil en URL baserat på deras ID-nummer.  Om du kommer ihåg när vi laddade upp filerna tilldelade vi automatiskt varje fil ett ID-nummer.  Vi kommer att använda det här när vi ringer tillbaka filerna.  Spara denna kod som download.php 

Nu för att hämta vår fil pekar vi vår webbläsare till: http://www.yoursite.com/download.php?id=2 (ersätt de 2 med vilket fil-ID du vill ladda ner/visa)

Denna kod är basen för att göra många saker. Med detta som bas kan du lägga till en databasfråga som listar filer och lägga dem i en rullgardinsmeny som folk kan välja. Eller så kan du ställa in ID att vara ett slumpmässigt skapat nummer så att en annan grafik från din databas visas slumpmässigt varje gång en person besöker. Möjligheterna är oändliga.

07

av 07

Ta bort filer

 Här är en väldigt enkelt
 sätt att ta bort filer från databasen.  Du vill var försiktig med den här!!  Spara denna kod som remove.php 

Liksom vår tidigare kod som laddade ner filer, tillåter detta skript att filer tas bort bara genom att skriva in deras URL: http://dinwebbplats.com /remove.php?id=2 (ersätt 2 med det ID du vill ta bort.) Av uppenbara skäl vill du

 var försiktig med den här koden.  Detta är givetvis för demonstration, när vi faktiskt bygger applikationer kommer vi att vilja sätta in skyddsåtgärder som frågar användaren om de är säkra på att de vill radera, eller kanske bara tillåter personer med ett lösenord att ta bort filer.  Denna enkla kod är basen vi kommer att bygga på för att göra alla dessa saker.

]">

Utvald video

Lämna ett svar

Relaterade Inlägg