existují dva způsoby ukládání obrázků. Nejběžnějším způsobem je uložit název souboru do tabulky MySQL a nahrát obrázek do složky.Dalším způsobem je uložit obrázek přímo do databáze. Protože vývojáři obvykle nepoužívají druhou metodu, mohou se zmást.

použití MySQL pro databázové informace je nepochybně velmi dobrá volba. Někdy je vhodnější uložit obrázek nebo soubor do databáze než do samostatné složky. V tomto článku se dozvíte, jak uložit obrázek nebo soubor do databáze MySQL a jak bude obraz databáze zobrazen s praktickým příkladem.

uložení nahraného souboru do databáze je složitější než pouhé přesunutí souboru pomocí move_uploaded_file. takže dnes zkontrolujeme uložení souboru do databáze.Databáze MySQL poskytuje specializovaný datový typ pro uložení velkého množství dat a tento datový typ je BLOB.

co je to BLOB?

datový typ BLOB je binární velký objekt, který může obsahovat proměnnou délku dat.BLOB se obvykle používá k ukládání binárních dat a má čtyři typy:‘

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

hlavním rozdílem mezi všemi typy je délka příslušných dat, která lze uložit.

Chcete-li soubor uložit do databáze nebo do MySQL, vytvořte tabulku s datovým typem BLOB, kde lze soubor uložit pomocí následujícího příkazu.Jako BLOB je zkratka pro binární velký objekt a jeho binární bezpečná verze textového typu, což znamená, že data nejsou čitelná text a nebudou interpretována jako čitelný text, zatímco jsou uložena přísně binární data.

zde ukládám obrázek do databáze namísto přesunutí souboru z dočasného umístění do konečného adresáře, takže si přečtete jeho obsah a vložíte jej do databáze.

poznámka: sloupce BLOB rozlišují velká a malá písmena, pokud do nich ukládáte data a pokusíte se je vyhledat pomocí dotazu MySQL.

příklad:

zde je struktura tabulky má dvě pole, První je autoincrement primární id a druhé pole je Blob pro uložení obrázku.

1
2
3
4
5
6

vytvořit tabulkové soubory (
ID int AUTO_INCREMENT primární klíč,
file_data MEDIUMBLOB NOT NULL
);

dále potřebujete webové rozhraní pro nahrávání obrázku. Za tímto účelem vytvoříme HTML formulář, který uživateli umožní nahrát soubor, který chcete uložit do databáze

1
2
3
4
5
6

<form name=“ file “ action=“filedb.php „method=“ post „enctype=“ multipart / form-data“>
<typ vstupu=“ soubor “ name=“ soubor “ hodnota=““ />
<typ vstupu= „submit“ name=“ Upload „value= „Upload“>
</formulář>

po vytvoření formuláře vytvořte souborb.php soubor, který vám ukáže hlavní kód pro uložení souboru v databázi. Zde fread funkce číst obsah souboru nebo obrazu a uložit obsah do databáze MySQL pomocí MySQL dotazu.

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

// Toto je soubor, který přidáme do databáze
$MY_FILE = $_FILES;
/ / pro otevření souboru a uložení jeho obsahu do $file_contents
$file = fopen ($MY_FILE, ‚r‘);
$file_contents = fread ($file, filesize ($MY_FILE));
fclose ($file);
/* musíme uniknout některé stcharacters, které by se mohly objevit v file_contents, tak to teď, než začneme dotaz.* /
$file_contents = addslashes ($file_contents);
// přidání souboru do databáze
mysql_connect (‚localhost‘,‘ root‘,“) nebo die („nelze se připojit k databázi.“);
mysql_select_db(‚test‘) nebo die („nelze vybrat DB.“);
mysql_query („vložit do souborů SET file_data=’$file_contents'“) nebo die („MySQL Query Error:“. mysql_error (). „<br><br>“. „SQL byl: $SQL<br>< br>“);
mysql_close ();
echo „soubor vložený do tabulky souborů úspěšně.“;

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.