a képek mentésének két módja van. A leggyakoribb módszer a fájlnév mentése a MySQL táblába és a kép feltöltése a mappába.Egy másik módja az, hogy tárolja a képet közvetlenül az adatbázisba. Mivel a fejlesztők általában nem használják a második módszert, összezavarodhatnak.

a MySQL adatbázis-információkhoz való használata kétségtelenül nagyon jó választás. Néha kényelmesebb a kép vagy fájl mentése az adatbázisban, mint egy külön mappában. Ebben a cikkben megtudhatja, hogyan mentheti el a képet vagy fájlt a MySQL adatbázisba, és hogyan jelenik meg az adatbázis képe a gyakorlati példával.

a feltöltött fájl adatbázisban történő tárolása összetettebb, mint egy fájl áthelyezése a move_uploaded_file segítségével. tehát ma ellenőrizni fogjuk a fájl tárolását az adatbázisban.A MySQL adatbázis speciális adattípust biztosít nagy mennyiségű adat mentéséhez, és ez az adattípus BLOB.

mi az a BLOB?

a BLOB adattípus egy bináris nagy objektum, amely változó hosszúságú adatokat képes tárolni.A blobot általában bináris adatok tárolására használják, és négy típusa van:’

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

a fő különbség az összes típus között a megfelelő adatok hossza menthető.

fájl tárolásához az adatbázisban vagy a MySQL-ben hozzunk létre egy blob adattípusú táblát, ahol a fájl a következő utasítás segítségével tárolható.Mivel a BLOB a Binary Large Object rövidítése, és a szövegtípus binárisan biztonságos változata, ami azt jelenti, hogy az adat nem olvasható szöveg, és nem értelmezhető olvasható szövegként, míg szigorúan bináris adatokat tárol.

itt egy képet tárolok az adatbázisban, ahelyett, hogy a fájlt áthelyezném az ideiglenes helyről a végső könyvtárba, így elolvassa a tartalmát, és beilleszti az adatbázisba.

megjegyzés: a BLOBOSZLOPOK kis-és nagybetűérzékenyek, ha adatokat tárol bennük, majd MySQL lekérdezéssel próbál keresni bennük.

példa:

itt van a táblázat szerkezete két mezővel, az első az autoincrement elsődleges azonosítója, a második mező pedig a blob a kép mentéséhez.

1
2
3
4
5
6

TÁBLÁZATFÁJLOK létrehozása (
id Int AUTO_INCREMENT elsődleges kulcs,
file_data MEDIUMBLOB Nem NULL
);

ezután webes felületre van szüksége a kép feltöltéséhez. Ehhez hozzunk létre HTML űrlapot, amely lehetővé teszi a felhasználó számára, hogy feltöltsön egy fájlt, amelyet tárolni szeretne az adatbázisban

1
2
3
4
5
6

<űrlap neve= “fájl” action= ” filedb.php “method=” post “enctype=” többrészes / form-adatok”>
<input type= “file” name= “file” érték=”” />
<input type= “submit” name= “feltöltés” érték= “feltöltés”>
</forma>

az űrlap után hozzon létre filedb-t.php fájl, amely megmutatja a fő kódot a fájl tárolásához az adatbázisban. Itt fread funkció Olvassa el a fájl vagy kép tartalmát, és mentse a tartalmat a MySQL adatbázis segítségével MySQL lekérdezés.

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

// ezt a fájlt fogjuk hozzáadni az adatbázishoz
$MY_FILE = $_FILES;
/ / a fájl megnyitásához és tartalmának tárolásához $file_contents
$file = fopen($MY_FILE, ‘r’);
$file_contents = fread ($fájl, fájlméret ($MY_FILE));
fclose ($fájl);
/* meg kell menekülni néhány stcharacters jelenhetnek meg file_contents,így nem, hogy most, mielőtt elkezdjük a lekérdezést.* /
$file_contents = addslashes ($file_contents);
// a Fájl hozzáadása az adatbázisba
mysql_connect (‘localhost’, ‘root’,”) vagy die(“nem lehet csatlakozni az adatbázishoz.”);
mysql_select_db(‘teszt’) vagy die(“nem lehet kiválasztani a DB-t.”);
mysql_query (“beszúrás fájlokba SET file_data=’$file_contents'”) vagy die (“MySQL lekérdezési hiba:”. mysql_error() . “<br><br>”. “Az SQL volt: $SQL< br> < br>”);
mysql_close ();
echo “fájl sikeresen beillesztve a fájlok táblázatba.”;

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.