検索
ホームページphp教程php手册詳細説明:画像をデータベースに保存する方法

画像ファイルや 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 フォームを通じてファイルをデータベースに転送できます。

<ccid_code>store.php3<?php // store.php3 - by Florian Dittmer <dittmer@gmx.net>?><title>Store binary data into SQL Database</title>
<?php // 如果提交了表单,代码将被执行:if ($submit) {// 连接到数据库// (你可能需要调整主机名,用户名和密码)MYSQL_CONNECT( "localhost", "root", "password");mysql_select_db( "binary_data");$data = addslashes(fread(fopen($form_data,  "r"), filesize($form_data)));$result=MYSQL_QUERY( "INSERT INTO binary_data (description,bin_data,filename,filesize,filetype) [接上一行:] VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')"); $id= mysql_insert_id();   print  "<p>This file has the following Database ID: <b>$id</b>";MYSQL_CLOSE();} else {// 否则显示储存新数据的表单?><form method="post" action="<?php%20echo%20%24PHP_SELF;%20?>" enctype="multipart/form-data">File Description:<br><input type="text" name="form_description" size="40"><input type="hidden" name="MAX_FILE_SIZE" value="1000000"><br>File to upload/store in database:<br><input type="file" name="form_data" size="40"><p><input type="submit" name="submit" value="submit"></p>
</form>
<?php }?></ccid_code>
このプログラムを実行すると、単純な HTML フォームが表示されます。[参照] をクリックしてファイルを選択し、[送信] をクリックします。

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

ファイルへのアクセス方法に関するサンプル プログラム このプログラムを通じて保存したファイルにアクセスできます

<ccid_code><?php // getdata.php3 - by Florian Dittmer <dittmer@gmx.net>// 调用方法: getdata.php3?id=<id>if($id) {// 你可能需要调整主机名,用户名和密码: @MYSQL_CONNECT( "localhost", "root", "password"); @mysql_select_db( "binary_data"); $query =  "select bin_data,filetype from binary_data where id=$id"; $result = @MYSQL_QUERY($query); $data = @MYSQL_RESULT($result,0, "bin_data"); $type = @MYSQL_RESULT($result,0, "filetype");Header(  "Content-type: $type");echo $data;};?></id></ccid_code>
プログラムは知っておく必要がありますそのファイルにアクセスするには、パラメータとして 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 未満のファイルのみを許可します。

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

4. 次のパラメータを使用して MYSQL を再起動する必要があります。

/usr/local/bin/safe_mysqld -O key_buffer=16M -O table_cache=128 -O sort_buffer= 4M -O record_buffer=1M -O max_allowed_pa​​cket=24M

5. それでもエラーが発生する場合:

非常に遅い接続で大きなファイルを保存している場合、PHP が見つかりません。制限時間は30秒です。 max_execution_time (php.ini 内) の値を -1

に変更できます。



声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。