există două moduri de a salva imaginile. Cea mai obișnuită modalitate este de a salva numele fișierului în tabelul MySQL și de a încărca imaginea în folder.O altă modalitate este de a stoca imaginea în direct în baza de date. Deoarece dezvoltatorii nu folosesc de obicei a doua metodă, s-ar putea să se confunde.

utilizarea MySQL pentru informații despre baza de date este, fără îndoială, o alegere foarte bună. Uneori, pentru a salva imaginea sau fișierul în baza de date decât într-un folder separat este mai convenabil. În acest articol, veți învăța cum să salvați imaginea sau fișierul în baza de date MySQL și cum va fi afișată imaginea bazei de date cu exemplul practic.

stocarea unui fișier încărcat într-o bază de date este o parte mai complexă decât simpla mutare a unui fișier cu move_uploaded_file. deci, astăzi vom verifica pentru stocarea unui fișier în baza de date.Baza de date MySQL oferă un tip de date specializat pentru a salva o cantitate mare de date și acel tip de date este BLOB.

ce este o pată de cerneală?

tipul de date BLOB este un obiect binar mare care poate conține o lungime variabilă de date.O pată de cerneală este de obicei folosit pentru a stoca date binare și are patru tipuri:’

1. TINYBLOB
2. BLOB
3. MEDIUMBLOB
4. LONGBLOB

principala diferență între toate tipurile este lungimea datelor respective pot fi salvate.

pentru a stoca un fișier în baza de date sau în MySQL, să creăm un tabel cu tipul de date BLOB în care fișierul poate fi stocat folosind următoarea instrucțiune.Ca Blob standuri pentru binar obiect mare și ei o versiune binară în condiții de siguranță a tipului de TEXT, ceea ce înseamnă că datele nu este text lizibil și nu vor fi interpretate ca text lizibil întrucât stocate strict date binare.

aici, stoc o imagine în baza de date în loc să mut fișierul din locația temporară într-un director final doar pentru a-i citi conținutul și a-l introduce în baza de date.

notă: coloanele BLOB sunt sensibile la majuscule dacă stocați date în ele și apoi încercați să le căutați cu o interogare MySQL.

exemplu:

aici este structura de masă au două câmpuri, în primul rând este ID-ul primar autoincrement și al doilea câmp este Blob pentru salvarea imaginii.

1
2
3
4
5
6

creați fișiere de tabel (
id int AUTO_INCREMENT cheie primară,
file_data MEDIUMBLOB nu NULL
);

apoi, aveți nevoie de o interfață web pentru încărcarea unei imagini. Pentru asta, să creăm formular HTML care să permită utilizatorului să încarce un fișier pe care doriți să îl stocați în baza de date

1
2
3
4
5
6

<forma Nume = „fișier” acțiune= ” filedb.php ” method=” post „enctype=” multipart / form-data”>
<input type=” file”name =” file ” valoare=”” />
<input type=” submit ” name=” Upload”value= „Upload”>
</formular>

după formular, creați fișierb.fișier php care vă arată codul principal pentru a stoca fișierul în baza de date. Aici funcția fread citiți fișierul sau conținutul imaginii și salvați conținutul în baza de date MySQL folosind interogarea MySQL.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

// acesta este fișierul pe care îl vom adăuga în baza de date
$ MY_FILE = $_FILES;
/ / pentru a deschide fișierul și a stoca conținutul acestuia în $file_contents
$ file = fopen ($MY_FILE, ‘r’);
$file_contents = fread ($fișier, Mărime fișier ($MY_FILE));
fclose ($fișier);
/* trebuie să scăpăm de unele stcharacters care ar putea apărea în file_contents, așa că faceți asta acum, înainte de a începe interogarea.* /
$file_contents = addslashes ($file_contents);
// pentru a adăuga fișierul în baza de date
mysql_connect(‘localhost’, ‘root’, „) sau die(„nu se poate conecta la baza de date.”);
mysql_select_db („test”) sau die („imposibil de selectat DB.”);
mysql_query („INSERT in files SET file_data=’$file_contents'”) sau die („MySQL Query Error:”. mysql_error (). „< br ><br>”. „SQL a fost: $ SQL<br > < br>”);
mysql_close ();
echo „fișier inserat în tabelul de fișiere cu succes.”;

Lasă un răspuns

Adresa ta de email nu va fi publicată.