det er to måter å lagre bilder på. Vanligste måten er å lagre filnavnet I MySQL tabell og laste opp bilde i mappen.En annen måte er å lagre bildet inn direkte Inn I Databasen. Som Utviklere vanligvis ikke bruker den andre metoden, kan de bli forvirret.
Å bruke MySQL for databaseinformasjon er utvilsomt et veldig godt valg. Noen ganger for å lagre bildet eller filen i databasen enn i en egen mappe, er det mer praktisk. I denne artikkelen lærer du hvordan du lagrer bildet eller filen I MySQL-databasen, og hvordan databasebildet vil bli vist med det praktiske eksemplet.
å lagre en opplastet fil i en database er mer kompleks del enn bare å flytte en fil med move_uploaded_file. så i dag vil vi sjekke for lagring av en fil i databasen.MySQL database gir spesialisert datatype for å lagre en stor mengde data og at datatypen ER BLOB.
Hva er EN BLOB?
BLOB datatype er et binært stort objekt som kan inneholde en variabel lengde av data.EN BLOB brukes vanligvis til å lagre binære data og har fire typer:’
1. SMÅBLOGGER
2. BLOB
3. MEDIUMBLOB
4. LONGBLOB
hovedforskjellen mellom alle typer er lengden på de respektive dataene som kan lagres.
for å lagre en fil i databasen eller I MySQL, la oss lage et bord med datatypen BLOB der filen kan lagres ved hjelp av følgende setning.SOM BLOB står For Binary Large Object og det er en binær-sikker versjon AV TEKSTTYPEN som betyr at data ikke er lesbar tekst og ikke vil bli tolket som lesbar tekst mens den lagres strengt binære data.
her lagrer jeg et bilde i databasen i stedet for å flytte filen fra den midlertidige plasseringen til en endelig katalog, slik at du skal lese innholdet og sette det inn i databasen.
MERK: BLOB-kolonner er saksfølsomme hvis du lagrer data i dem og deretter prøver å søke dem med En MySQL-spørring.
Eksempel:
Her Er Tabellstrukturen har to felt, Først er autoincrement Primære id og det andre feltet Er Blob for å lagre bildet.
1
2
3
4
5
6
|
OPPRETT TABELLFILER (
id INT AUTO_INCREMENT PRIMÆRNØKKEL,
file_data MEDIUMBLOB IKKE NULL
);
|
Deretter trenger du et webgrensesnitt for å laste opp et bilde. For Det, la oss lage HTML-skjema som tillater brukeren å laste opp en fil som du vil lagre i databasen
1
2
3
4
5
6
|
<form name= «file» action= » filedb.php «method=» post «enctype=» multipart / form-data»>
<input type= «file» name= «file» verdi=»» />
<input type= «send inn» name=»Last opp» value=»Last opp»>
</skjema>
|
etter skjema, opprett filedb.php-fil som viser deg hovedkoden for å lagre filen i databasen. Her fread funksjon lese filen eller bildeinnhold og lagre innhold I MySQL database ved Hjelp Av MySQL query.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
// Dette er filen vi skal legge den til i databasen
$ MY_FILE = $_FILES;
/ / for å åpne filen og lagre innholdet i $file_contents
$ file = fopen ($MY_FILE, ‘r’);
$file_contents = fread ($fil, filstørrelse ($MY_FILE));
fclose ($fil);
/* Vi må unnslippe noen stcharacters som kan vises i file_contents, så gjør det nå, før vi begynner spørringen.* /
$file_contents = addslashes ($file_contents);
// for å legge til filen i databasen
mysql_connect (‘localhost’,’ root’,») eller die («Kan ikke koble til databasen.»);
mysql_select_db (‘test’) eller die («Kan ikke velge DB.»);
mysql_query («SETT inn i filer SETT file_data=’$file_contents'») eller dø («MySQL Query Error:». mysql_error() . «< br> < br >». «SQL var: $SQL < br> < br>»);
mysql_close ();
ekko «Fil SATT inn i filer tabell vellykket.»;
|