Shranjevanje prispelih datotek v zbirki podatkov MySQL

click fraud protection

Včasih je koristno zbiranje podatkov od uporabnikov vašega spletnega mesta in shranjevanje teh podatkov v MySQL baze podatkov. Že smo videli, da lahko z bazo poselite bazo podatkov PHP, zdaj bomo dodali praktičnost omogočanja dodajanja podatkov prek uporabniku prijaznega spletnega obrazca.

Nato morate narediti process.php, stran, na katero pošlje naše podatke. Tu je primer, kako zbrati te podatke za objavo v bazo podatkov MySQL:

Seveda, preden ga preizkusimo, se moramo prepričati, ali tabela dejansko obstaja. Izvajanje te kode bi moralo ustvariti tabelo, ki jo je mogoče uporabiti z našimi vzorčnimi datotekami:

Zdaj veste, kako shraniti uporabniške podatke v MySQL, zato naredimo korak naprej in se naučimo, kako naložiti datoteko za shranjevanje. Najprej naredimo našo vzorčno zbirko podatkov:

Prva stvar, ki jo morate opaziti, je polje, imenovano id ki je nastavljena na AUTO_INCREMENT. Kaj to vrsta podatkov pomeni, da bo štelo, da bo vsaki datoteki dodelil edinstven ID datoteke, začenši z 1 in do 9999 (ker smo določili 4 števke). Verjetno boste tudi opazili, da se kliče naše podatkovno polje

instagram viewer
LONGBLOB. Kot smo že omenili, obstaja veliko vrst BLOB. TINYBLOB, BLOB, MEDIUMBLOB in LONGBLOB so vaše možnosti, vendar smo svoje postavili na LONGBLOB, da omogočimo največje možne datoteke.

Nato bomo ustvarili obrazec, ki bo uporabniku omogočil, da naloži svojo datoteko. To je samo preprosta oblika, očitno bi jo lahko oblekli, če bi želeli:

Nato moramo dejansko ustvariti upload.php, ki bo prevzel datoteko naših uporabnikov in jo shranil v našo bazo podatkov. Spodaj je vzorčno kodiranje za upload.php.

Nato uporabi ODGOVORI funkcijo. To je, če po potrebi dodate poševne črte v ime datoteke, da ne bomo pri napačnem poizvedovanju po podatkih dobili napake. Na primer, če imamo Billy'sFile.gif, bo to pretvoril v Billy'sFile.gif. FOPEN odpre datoteko in BREZPLAČNA je binarna varna datoteka, ki se bere tako, da je ODGOVORI se po potrebi uporabi za podatke v datoteki.

Nato dodamo vse podatke, ki jih je naš obrazec zbral v našo bazo podatkov. Opazili boste, da smo najprej navedli polja, vrednosti pa drugo, da slučajno ne poskušamo vstaviti podatkov v prvo polje (polje samodejnega dodeljevanja ID-ja.)

Izvedeli smo že, kako najti navadni podatki iz naše baze podatkov MySQL. Prav tako shranjevanje datotek v bazo podatkov MySQL ne bi bilo zelo praktično, če ne bi bilo mogoče pridobiti datotek. Način, kako se bomo tega naučili, je tako, da vsaki datoteki dodelimo URL glede na njihovo ID številko. Če se spomnite, ko smo naložili datoteke, smo vsaki od datotek samodejno dodelili ID številko. To bomo uporabili tukaj, ko bomo datoteke ponovno poklicali. To kodo shranite kot download.php

Zdaj, da pridobimo svojo datoteko, usmerimo brskalnik na: http://www.yoursite.com/download.php? id = 2 (2 nadomestite s katerim koli ID-jem datoteke, ki jo želite prenesti / prikazati)

Ta koda je osnova za veliko stvari. Če je to osnova, lahko dodate poizvedbo po zbirki podatkov, ki bi naštevala datoteke, in jih dodate v spustni meni, ki ga lahko izberejo ljudje. Lahko pa nastavite ID naključno ustvarjeno številko, tako da se vsakič, ko oseba obišče, naključno prikaže drugačna slika iz vaše baze podatkov. Možnosti je neskončno.

Kot naša prejšnja koda, ki je prenesla datoteke, tudi ta skript omogoča odstranitev datotek samo tako, da vtipkate njihov URL: http://yoursite.com/remove.php? id = 2 (zamenjajte 2 z ID-jem, ki ga želite odstraniti.) Iz očitnih razlogov to želite bodite previdni s to kodo. To je seveda za demonstracijo, ko bomo dejansko gradili aplikacije, ki jih bomo želeli uvesti vprašajte uporabnika, če so prepričani, da želijo izbrisati, ali morda dovolijo ljudem z geslom, da odstranijo datoteke. Ta preprosta koda je osnova, ki jo bomo gradili pri vseh teh stvareh.

instagram story viewer