ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルで MySQL データベースに画像を保存する方法

PHP_PHP チュートリアルで MySQL データベースに画像を保存する方法

WBOY
WBOYオリジナル
2016-07-21 14:56:52921ブラウズ

画像ファイルや HTML ファイルなどのバイナリ データを MySQL データベースに直接保存したい場合は、この記事が最適です。 HTML フォームを介してこれらのファイルを保存する方法と、これらのファイルにアクセスして使用する方法を説明します。

この記事の概要:

。 mysql で新しいデータベースを作成します

。ファイルを保存する方法のサンプルプログラム

。ファイルにアクセスする方法のサンプルプログラム

mysqlで新しいデータベースを作成する

まず、mysql に新しいデータベースを作成する必要があります。バイナリ ファイルはこのデータベースに保存されます。この例では、データベースを作成するために次の構造を使用します

次の手順を実行する必要があります:

。 MySql コントローラーを入力してください

。 「データベース binary_data を作成する」コマンドを入力します

。コマンド「use binary_data;」を入力します。

。コマンドを入力してください

「CREATE TABLE binary_data ( id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY、description CHAR(50)、bin_data LONGBLOB、filename CHAR(50)、filesize CHAR(50)、filetype CHAR(50));」 (改行はできません) )

事故がなければデータベースとテーブルが作成されるはずです。

ファイルの保存方法のサンプルプログラム

この例では、HTML フォームを通じてファイルをデータベースに転送できます。

store.php3

//store.php3 - Florian Dittmer 著

?>

// フォームが送信されると、コードが実行されます:

if ($submit) {

// データベースに接続します

// (ホスト名、ユーザー名、パスワードの調整が必要な場合があります)

MYSQL_CONNECT( "ローカルホスト", "ルート", "パスワード");

mysql_select_db( "binary_data");

$data = addlashes(fread(fopen($form_data, "r"), filesize($form_data)));

$result=MYSQL_QUERY( "バイナリデータに挿入 (説明,ビン_データ,ファイル名,ファイルサイズ,​​ファイルタイプ)

[前の行からの続き:] VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");

$id= mysql_insert_id();

」を印刷

このファイルには次のデータベース ID があります: $id";

MYSQL_CLOSE();

} 他 {

// それ以外の場合は、新しいデータを保存するフォームを表示します

?>

}

?>

このプログラムを実行すると、単純な HTML フォームが表示されます。「参照」をクリックしてファイルを選択し、「送信」をクリックします。

ファイルが Web サーバーにアップロードされると、プログラムはアップロードしたばかりのファイルの ID を通知しますので、後で使用できるようにこの ID を覚えておいてください。

ファイルにアクセスする方法のサンプルプログラム

このアプリを通じて保存したファイルにアクセスできます

// getdata.php3 - Florian Dittmer 著

// メソッドの呼び出し: getdata.php3?id=

if($id) {

// ホスト名、ユーザー名、パスワードを調整する必要がある場合があります:

@MYSQL_CONNECT( "ローカルホスト", "ルート", "パスワード");

@mysql_select_db( "binary_data");

$query = "id=$id の binary_data から bin_data,filetype を選択";

$結果 = @MYSQL_QUERY($クエリ);

$data = @MYSQL_RESULT($result,0, "bin_data");

$type = @MYSQL_RESULT($result,0, "ファイルタイプ");

ヘッダー( "コンテンツタイプ: $type");

$data をエコーし​​ます。

};

?>

プログラムはどのファイルにアクセスするかを知っている必要があり、パラメータとして ID を渡す必要があります。

例: データベース内のファイルの ID は 2 です。次のように呼び出すことができます:

getdata.php3?id=2

画像をデータベースに保存すると、写真のように呼び出すことができます。

例: データベース内の画像ファイルの ID は 3 です。次のように呼び出すことができます:

1MBを超えるファイルを保存する方法:

1MB を超えるファイルを保存したい場合は、プログラム、PHP 設定、SQL 設定に多くの変更を加える必要があります。

次のヒントは、24MB 未満のファイルを保存するのに役立ちます:

1. store.php3 を変更し、MAX_FILE_SIZE の値を 24000000 に変更します。

2. PHP 設定を変更します。通常の状況では、PHP は 2MB 未満のファイルのみを許可します。(php.ini 内の) max_filesize の値を 24000000 に変更する必要があります。

3. MYSQL のデータ パッケージ サイズ制限を削除します。通常の状況では、MYSQL データ パッケージは 1 MB 未満です。

http://www.bkjia.com/PHPjc/364179.html

tru​​ehttp://www.bkjia.com/PHPjc/364179.html技術記事画像ファイルや HTML ファイルなどのバイナリ データを MySQL データベースに直接保存したい場合は、この記事が最適です。 HTMLテーブルを渡す方法を説明します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。