istnieją dwa sposoby zapisywania obrazów. Najczęstszym sposobem jest zapisanie nazwy pliku w tabeli MySQL i przesłanie obrazu do folderu.Innym sposobem jest zapisanie obrazu bezpośrednio do bazy danych. Ponieważ programiści zwykle nie używają drugiej metody, mogą się mylić.

użycie MySQL do informacji o bazie danych jest niewątpliwie bardzo dobrym wyborem. Czasami bardziej wygodne jest zapisanie obrazu lub pliku w bazie danych niż w oddzielnym folderze. W tym artykule dowiesz się, jak zapisać obraz lub plik do bazy danych MySQL i jak będzie wyświetlany obraz bazy danych za pomocą praktycznego przykładu.

przechowywanie przesłanego pliku w bazie danych jest bardziej złożoną częścią niż zwykłe przenoszenie pliku za pomocą move_uploaded_file. więc dzisiaj Sprawdzimy, czy plik jest przechowywany w bazie danych.Baza danych MySQL zapewnia wyspecjalizowany typ danych do zapisywania dużej ilości danych, a tym typem danych jest BLOB.

co to jest BLOB?

typ danych BLOB jest dużym binarnym obiektem, który może pomieścić zmienną długość danych.BLOB jest zwykle używany do przechowywania danych binarnych i ma cztery typy:’

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

główną różnicą między wszystkimi typami jest długość odpowiednich danych, które można zapisać.

aby zapisać plik w bazie danych lub w MySQL, stwórzmy tabelę z typem danych BLOB, w której plik może być przechowywany za pomocą następującego polecenia.Ponieważ BLOB oznacza Binary Large Object i jego binarną wersję typu TEXT, która oznacza, że dane nie są czytelnym tekstem i nie będą interpretowane jako czytelny tekst, podczas gdy przechowywane są dane ściśle binarne.

tutaj przechowuję obraz w bazie danych, zamiast przenosić Plik z tymczasowej lokalizacji do katalogu końcowego, abyś przeczytał jego zawartość i wstawił go do bazy danych.

uwaga: w kolumnach BLOB rozróżniana jest wielkość liter, jeśli przechowujesz w nich dane, a następnie próbujesz je przeszukiwać za pomocą zapytania MySQL.

przykład:

Oto struktura tabeli ma dwa pola, pierwszy to AutoIncrement Primary id, a drugie pole to Blob do zapisania obrazu.

1
2
3
4
5
6

tworzenie plików tabel (
id INT AUTO_INCREMENT PRIMARY KEY,
file_data MEDIUMBLOB NOT NULL
);

następnie potrzebujesz interfejsu internetowego do przesyłania obrazu. W tym celu stwórzmy formularz HTML, który pozwoli użytkownikowi przesłać plik, który chcesz zapisać w bazie danych

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”>
</formularz>

po formularzu Utwórz filedb.plik php, który pokazuje główny kod do przechowywania pliku w bazie danych. Tutaj funkcja fread odczytuje zawartość pliku lub obrazu i zapisuje zawartość do bazy danych MySQL za pomocą zapytania MySQL.

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

// to jest plik, który dodamy do bazy
$MY_FILE = $_FILES;
// aby otworzyć plik i zapisać jego zawartość w $file_contents
$file = fopen ($MY_FILE, 'r’);
$file_contents = fread ($file, filesize ($MY_FILE));
fclose ($file);
/* musimy uciec od niektórych znaków, które mogą pojawić się w pliku_kontentów, więc zrób to teraz, zanim zaczniemy kwerendę.* /
$file_contents = addslashes ($file_contents);
// aby dodać plik do bazy danych
mysql_connect(’localhost’, 'root’,”) lub die („Nie można połączyć się z bazą danych.”);
mysql_select_db (’test’) lub die („nie można wybrać DB.”);
mysql_query („INSERT INTO files SET file_data=’$file_contents'”) or die („MySQL Query Error:”. mysql_error() . „< br > <br>”. „SQL był: $SQL< br >< br>”);
mysql_close();
echo ” plik wstawiony do tabeli plików pomyślnie.”;

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.