画像を保存するには2つの方法があります。 最も一般的な方法は、ファイル名をMySQLテーブルに保存し、画像をフォルダにアップロードすることです。別の方法は、イメージをデータベースに直接格納することです。 開発者は通常、2番目の方法を使用しないため、混乱する可能性があります。

データベース情報にMySQLを使用することは間違いなく非常に良い選択です。 別のフォルダよりもデータベースに画像やファイルを保存する方が便利な場合があります。 この記事では、イメージまたはファイルをMySQLデータベースに保存する方法と、実際の例を使用してデータベースイメージを表示する方法を学習します。

アップロードされたファイルをデータベースに格納することは、単にmove_uploaded_fileでファイルを移動するよりも複雑な部分です。 そこで、今日はデータベースにファイルを格納するかどうかを確認します。MySQLデータベースには、大量のデータを保存するための特殊なデータ型が用意されており、そのデータ型はBLOBです。

BLOBとは何ですか?

BLOBデータ型は、データの可変長を保持できるバイナリラージオブジェクトです。BLOBは通常、バイナリデータを格納するために使用され、4つのタイプがあります:’

1. TINYBLOB
2. ブロブ
3. MEDIUMBLOB
4. LONGBLOB

すべてのタイプの主な違いは、それぞれのデータの長さを保存できることです。

データベースまたはMySQLにファイルを格納するには、次のステートメントを使用してファイルを格納できるデータ型BLOBのテーブルを作成しましょう。BLOBはBinary Large Objectの略であり、データが読み取り可能なテキストではなく、読み取り可能なテキストとして解釈されないことを意味するテキスト型のバイ

ここでは、ファイルを一時的な場所から最終的なディレクトリに移動するのではなく、データベースに画像を保存しているので、その内容を読んでデー

注:BLOB列にデータを格納し、MySQLクエリで検索しようとすると、BLOB列では大文字と小文字が区別されます。

:

ここでは、テーブル構造には2つのフィールドがあり、最初はautoincrement Primary idで、2番目のフィールドは画像を保存するためのBlobです。

1
2
3
4
5
6

テーブルファイルの作成(
id INT AUTO_INCREMENT主キー,
file_data MEDIUMBLOB NOT NULL
);

次に、画像をアップロードするためのwebインターフェイスが必要です。 そのために、ユーザーがデータベースに保存したいファイルをアップロードできるHTMLフォームを作成しましょう

1
2
3
4
5
6

<フォーム名=”ファイル”アクション=”filedb。php”method=”post”enctype=”multipart/form-data”>
<入力タイプ=”ファイル”名前=”ファイル”値=”” />
<input type=”submit”name=”Upload”value=”Upload””>
</フォーム>

フォームの後、filedbを作成します。データベースにファイルを保存するためのメインコードを表示するphpファイル。 ここでfread関数は、ファイルまたは画像の内容を読み取り、MySQLクエリを使用してMySQLデータベースにコンテンツを保存します。

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

// これは、データベースに追加するファイルです
MY MY_FILE=$_FILES;
//ファイルを開き、その内容をin file_contents
$file=fopen(MY MY_FILE,’r’)に格納します’);
$file_contents=fread(file file,filesize(MY MY_FILE));
fclose($file);
/* file_contentsに表示される可能性のあるいくつかのstcharactersをエスケープする必要があるため、クエリを開始する前に今すぐ実行してください。*/
$file_contents=addslashes(add file_contents);
// データベースにファイルを追加するには
mysql_connect(‘localhost’,’root’,”)またはdie(“データベースに接続できません。”);
mysql_select_db(‘test’)またはdie(“DBを選択できません。Mysql_query(“INSERT INTO files SET file_data=’MySQL file_contents'”)またはdie(“MySQLクエリエラー:”. mysql_error()。 “<br><br>”。 “SQLは次のとおりです。SQL SQL<br><br>”);
mysql_close();
echo”ファイルが正常にfilesテーブルに挿入されました。”;

コメントを残す

メールアドレスが公開されることはありません。