Pohranjivanje poslanih datoteka u MySQL bazu podataka

click fraud protection

Ponekad je korisno prikupiti podatke od korisnika vaše web stranice i pohraniti ove podatke u MySQL baza podataka. Već smo vidjeli da bazu podataka možete popuniti koristeći PHP, sada ćemo dodati praktičnost omogućavanja dodavanja podataka putem web-obrasca prilagođenog korisnicima.

Zatim morate napraviti process.php, stranicu na koju naš obrazac šalje svoje podatke. Evo primjera kako prikupiti ove podatke za objavu u MySQL bazi podataka:

Naravno, prije nego što ga isprobamo, moramo se uvjeriti da tablica stvarno postoji. Izvršenjem ovog koda treba stvoriti tablicu koja se može koristiti s našim oglednim datotekama:

Sada znate kako pohraniti korisničke podatke u MySQL, pa učinimo to korak dalje i naučimo kako prenijeti datoteku za pohranu. Prvo napravimo našu primjeru baze podataka:

Prvo što biste trebali primijetiti je polje zvano iskaznica koja je postavljena na AUTO_INCREMENT. Što ovo vrsta podataka znači da će se računati da će svakoj datoteci dodijeliti jedinstveni ID datoteke koji započinje s 1 i ide do 9999 (jer smo odredili 4 znamenke). Vjerojatno ćete također primijetiti da se zove naše polje podataka

instagram viewer
LONGBLOB. Kao što smo već spomenuli, postoji mnogo vrsta BLOB-a. TINYBLOB, BLOB, MEDIUMBLOB i LONGBLOB su vaše mogućnosti, ali mi smo postavili LONGBLOB kako bismo omogućili najveće moguće datoteke.

Zatim ćemo stvoriti obrazac koji će omogućiti korisniku da učita svoju datoteku. Ovo je samo jednostavan oblik, očito biste ga mogli odjenuti ako želite:

Zatim moramo stvoriti upload.php, koji će preuzeti našu datoteku i pohraniti je u našu bazu podataka. Ispod je primjer uzorkovanja za upload.php.

Zatim koristi ADDSLASHES funkcija. Ono što treba napraviti je dodati poševne crte ako je potrebno u naziv datoteke kako ne bismo dobili grešku kada upitamo bazu podataka. Na primjer, ako imamo Billy'sFile.gif, to će pretvoriti u Billy'sFile.gif. fopen otvara datoteku i FREAD binarna datoteka sigurna za čitanje, tako da ADDSLASHES primjenjuje se na podatke unutar datoteke ako je potrebno.

Zatim dodajemo sve podatke koje je naš obrazac prikupio u našu bazu. Primijetit ćete da smo prvo nabrojili polja, a vrijednosti drugo pa da slučajno ne pokušamo umetnuti podatke u prvo polje (automatsko dodjeljivanje ID polja.)

Već smo naučili kako dohvatiti prosti podaci iz naše MySQL baze podataka. Isto tako, spremanje datoteka u MySQL bazu podataka ne bi bilo baš praktično ako ne postoji način za njihovo preuzimanje. Način na koji ćemo to naučiti jest dodjeljivanje URL-a svakoj datoteci na temelju njihovog ID broja. Ako se sjetite kada smo učitali datoteke, automatski smo svakoj datoteci dodijelili ID broj. Ovdje ćemo upotrijebiti kad vratimo datoteke. Spremi ovaj kôd kao download.php

Sada da bismo preuzeli datoteku, usmjeravamo preglednik na: http://www.yoursite.com/download.php? id = 2 (zamijenite 2 s bilo kojim ID-om datoteke koji želite preuzeti / prikazati)

Ovaj je kôd osnova za obavljanje puno stvari. Uz ovo kao bazu, možete dodati upitu baze podataka koji će popisati datoteke i staviti ih u padajući izbornik koji bi ljudi izabrali. Ili možete postaviti ID nasumično stvorenim brojem tako da se svaki put kad osoba posjeti, nasumično prikazuje drugačija grafika iz vaše baze podataka. Mogućnosti su beskrajne.

Kao i prethodni kôd koji je preuzeo datoteke, i ova skripta omogućuje uklanjanje datoteka samo ako upišete njihov URL: http://yoursite.com/remove.php? id = 2 (zamijenite 2 s ID-om koji želite ukloniti.) Iz očitih razloga to želite budite oprezni s ovim kodom. To je naravno za demonstraciju, kad zapravo napravimo aplikacije, htjet ćemo to zaštititi pitajte korisnika da li su sigurni da žele izbrisati ili možda dopuštaju samo osobama s lozinkom uklanjanje datoteka. Ovaj jednostavan kod osnova je na kojoj ćemo raditi sve te stvari.

instagram story viewer