kuvien tallentamiseen on kaksi tapaa. Yleisin tapa on tallentaa tiedostonimi MySQL-taulukkoon ja ladata kuva kansioon.Toinen tapa on tallentaa kuva suoraan tietokantaan. Koska kehittäjät eivät yleensä käytä toista menetelmää, he saattavat hämmentyä.
MySQL: n käyttäminen tietokantatietoihin on epäilemättä erittäin hyvä valinta. Joskus tallentaa kuvan tai tiedoston tietokantaan kuin erillisessä kansiossa on helpompaa. Tässä artikkelissa, opit tallentaa kuvan tai tiedoston MySQL tietokantaan ja miten tietokannan kuva näytetään käytännön esimerkki.
ladatun tiedoston tallentaminen tietokantaan on monimutkaisempi osa kuin tiedoston siirtäminen move_uploaded_file-ohjelmalla. tänään tarkistamme tiedoston tallentamisen tietokantaan.MySQL tietokanta tarjoaa erikoistuneita datatype tallentaa suuren määrän tietoja ja että tietotyyppi on BLOB.
mikä on möykky?
BLOB-tietotyyppi on binäärinen suuri objekti, johon mahtuu vaihtelevan pituista dataa.BLOB käytetään tyypillisesti tallentaa binary data ja on neljä tyyppiä:’
1. TINYBLOB
2. Möykky
3. MEDIUMBLOB
4. LONGBLOB
tärkein ero kaikkien tyyppien välillä on se, kuinka kauan vastaavat tiedot voidaan tallentaa.
tallentaaksesi tiedoston tietokantaan tai MySQL: ään, luodaan taulukko tietotyypillä BLOB, johon tiedosto voidaan tallentaa seuraavan lausekkeen avulla.Koska BLOB tarkoittaa Binary Large Object ja sen binary-turvallinen versio TEKSTITYYPISTÄ, joka tarkoittaa, että data ei ole luettavaa tekstiä eikä sitä tulkita luettavaksi tekstiksi, kun taas se tallentaa tiukasti binääristä dataa.
tässä tallennan kuvan tietokantaan sen sijaan, että siirrän tiedoston väliaikaisesta sijainnista lopulliseen hakemistoon, jotta voit lukea sen sisällön ja lisätä sen tietokantaan.
huomaa: BLOB-sarakkeet ovat kirjainkokoisia, jos niihin tallentaa tietoja ja yrittää sitten etsiä niitä MySQL-kyselyllä.
esimerkki:
tässä on taulukon rakenne on kaksi kenttää, ensimmäinen on autoincrement ensisijainen id ja toinen kenttä on möykky tallentamiseen kuvan.
1
2
3
4
5
6
|
luo TAULUTIEDOSTOJA (
id int AUTO_ increment PRIMARY KEY,
file_data MEDIUMBLOB NOT NULL
);
|
Seuraava, tarvitset web-käyttöliittymä lataamiseen kuvan. Sitä varten, Let ’s luoda HTML-lomake, jonka avulla käyttäjä voi ladata tiedoston, jonka haluat tallentaa tietokantaan
1
2
3
4
5
6
|
<form name= ”file” action= ” filedb.php ”method=” post ”enctype=” multipart/form-data”>
<input type= ”file” name= ”file” value=”” />
<input type= ”submit” name= ”Upload” value= ”Upload”>
</lomake>
|
lomakkeen jälkeen luo filedb.php tiedosto, joka näyttää pääkoodin tallentaa tiedoston tietokantaan. Tässä fread-toiminto lukee tiedoston tai kuvan sisällön ja tallentaa sisällön MySQL-tietokantaan MySQL-kyselyn avulla.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
// tämä on tiedosto, jonka lisäämme tietokantaan
$MY_FILE = $_FILES;
// avataksesi tiedoston ja tallentaaksesi sen sisällön $file_contents
$file = fopen($MY_FILE, ”r’);
$file_contents = fread ($file, filesize($MY_FILE));
fclose ($file);
/* meidän täytyy paeta joitakin stcharacters, jotka saattavat näkyä file_contents, joten tee se nyt, ennen kuin aloitamme kyselyn.* /
$file_contents = addslashes ($file_contents);
// lisätäksesi tiedoston tietokantaan
mysql_connect (”localhost”,”root”,”) tai die (”tietokantaan ei voi muodostaa yhteyttä.”);
mysql_select_db(”testi”) tai die (”DB: tä ei voi valita.”);
mysql_query(”INSERT INTO files SET file_data=’$file_contents'”) tai die(”MySQL Query Error:” . mysql_error (). <br> <br> ”SQL oli: $SQL<br> <br>”);
mysql_close ();
echo ” – Tiedosto lisätty tiedostojen taulukkoon onnistuneesti.”;
|