Adăugarea imaginilor la o bază de date MySQL prin intermediul PHP, Web Design - proiectare, dezvoltare și

Bună ziua, dragi cititori SoftMaker.kz blog. Pe acest site au deja articole despre PHP și dat
Exemple în programarea PHP. Acum vorbim despre cum să adăugați imagini la baza de date MySQL printr-un formular folosind PHP.


Adăugarea imaginilor la o bază de date MySQL prin intermediul PHP, Web Design - proiectare, dezvoltare și

Crearea unui câmp într-o bază de date MySQL pentru a adăuga imagini

În primul rând vreau să spun că la imagini stoca într-o bază de date MySQL trebuie să definiți unul dintre câmpurile din tabel ca un derivat al unui BLOB.

Reducerea BLOB este un obiect binar mare. Tipul de stocare a datelor BLOB are mai multe variante:

  • TINYBLOB - poate stoca până la 255 de octeți
  • BLOB poate stoca până la 64 kilobytes de informații
  • MEDIUMBLOB - până la 16 MB
  • LONGBLOB la 4 gigaocteți

Pentru stocarea fișierului de imagine în baza de date este necesară pentru a citi fișierul într-o variabilă și de a crea o cerere pentru a adăuga date la un tabel.

Pregătirea formularul de pe pagina pentru a adăuga o imagine într-o bază de date MySQL

În cazul meu, problema a fost de a adăuga două imagini la baza de date printr-un formular folosind PHP. Avem un formular cu două câmpuri și faceți clic pe submit:

form name = »Form1" metoda =» posta »action =» add_image.php »
enctype = »multipart / form-data»

Permiteți-mi să vă reamintesc că atributul de acțiune specifică fișierul, care va efectua descărcarea de fișiere imagine. Atributul enctype indică metoda de codare a conținutului și sub formă de fișiere de informații podgruzku. A se vedea modul în care să umple atributul enctype pentru a evita erori în transmiterea valorilor printr-o metodă de formular POST.

Notă: Suport pentru mai multe încărcări de fișiere a fost introdus în versiunea 3.0.10.

Scrierea de cod PHP pentru a salva imaginea într-o bază de date MySQL

Din moment ce trimitem două fișiere în atributul name atunci când cuvintele indică «userfile []» între paranteze drepte, pe care le dau să înțelegem că vom trimite mai multe fișiere folosind o matrice, care conține atribute fișierul:

Numele original al fișierului pe masina client.

mime-tip de fișier în cazul în care browser-ul furnizat aceste informații.
Exemplu: "image / gif".

Numele fișierului temporar sub care fișierul descărcat a fost stocat pe server.

Cum se obține valoarea fiecărui fișier?

De exemplu, să presupunem că și /home/test/1.jpg /home/test/2.jpg nume de fișiere.

În acest caz, $ _FILES [ 'userfile'] [ 'name'] [0]
Acesta va conține o valoare 1.jpg,
și $ _FILES [ 'userfile'] [ 'name'] [1]
- 2.jpg valoare

În mod similar, $ _FILES [ 'userfile'] [ 'dimensiune'] [0] ar conține dimensiunea fișierului valoarea 1.jpg, și așa mai departe. Acum ia în considerare add_image.php fișier de cod, care a fost specificat în formele de atribute de acțiune.

Deci, în acest articol am discutat despre modul de a salva imaginea într-o bază de date MySQL folosind PHP.

In al doilea articol, să ne uităm la modul în care pentru a extrage fișierul de imagine salvat din baza de date MySQL.

Acest blog este citit de mai multe persoane
- citește și tu!

Funcția get_image ($ num)
la nivel mondial $ ErrorDescription;
$ Image_size statică = 0;

// Verificați Pusztai variabila globală $ _FILES

$ Image_size = $ _ FILES [ 'userfile'] [ 'size'] [$ num];
// limita de dimensiune a fișierului, în cazul meu, 1MB
if ($ image_size> 1024 * 1024 || $ image_size == 0)
$ ErrorDescription = "
Fiecare imagine nu ar trebui să privyshat 1MB! Imaginea în baza de date nu poate fi adăugat. „;
întoarce »;
>

if (substr ($ _ FILES [ 'userfile'] [ 'tip'] [$ num], 0, 5) == 'image')
// Citiți conținutul fișierului
$ = file_get_contents imagine ($ _ FILES [ 'userfile'] [ 'tmp_name'] [$ num]);
// screeningul caractere speciale în conținutul fișierului
$ Image = mysql_escape_string ($ image);
a reveni $ imagine;
>

altfel
$ ErrorDescription = "
Nu au descărcat imaginea, astfel încât aceasta nu poate fi adăugat.
„;
întoarce »;
>
>

altfel
$ ErrorDescription = „Nu ați descărcat imaginea, câmpul este gol, astfel încât nu poate fi adăugat fișierul în baza de date.“; Return;
>
a reveni $ imagine;
>

// Folosind o get_image funcție definită anterior // atribuie un conținut de fișiere variabile
$ Image_before = get_image (0);
if ($ image_before == »)
unset ($ image_before);
>
altfel
$ Image_after = get_image (1); if ($ image_after == »)
unset ($ image_after);
>
>

// Verificați dacă sunt setate variabilele
if (isset ($ din titlu) isset ($ image_after) isset ($ image_before))
includ "bd Baza-/ config.php";
/ * Ai scrie că puteți introduce informații în baza de date.
În sduchae noastră în baza de date, există două tipuri de câmpuri MEDIUMBLOB: img_before și img_after * /
$ Rezultat = mysql_query ( "INSERT INTO imagess (titlu, img_before, img_after) VALORI ( 'titlu $', '$ image_before', '$ image_after')", $ db);
if ($ rezultat == 'true')
echo „Imaginea a fost adaugata cu succes!“;
>

altfel
echo „Imaginile au fost adăugate!“;
>
>

altfel
if ($ ErrorDescription == »)
echo „Nu introdus toate informațiile, astfel încât imaginea în baza de date nu poate fi adăugat.“;
>

altfel
echo $ ErrorDescription;
>