2011-11-08 13 views
0

BLOBフィールドに画像を入力する必要があるSQL DBがあります。 画像はフォルダ内にあります。PHPを使用してBLOBフィールドに画像を追加する方法

ピクチャにIDフィールドの名前がある場合、PHPを使用してピクチャをblobフィールドに自動的にインポートするにはどうすればよいですか?

編集:
私はデータベースを作成せず、入力するだけです。
データベースを使用しているプログラムは、ブロブを保存することができる商品管理システムです。
そのように私は、SQLに画像を取得する必要があり、ファイルパスだけを格納することはできません。
データベースはDBISAMです。
これまではSQLコマンドを使って写真を保存しようとしましたが、それがどのように機能するのか分かりませんでした。

ベストクルト

+1

通常、画像をファイルシステムに保存することをお勧めします。何千ものフォルダがフォルダに分割されていると、パフォーマンスが低下します。パフォーマンスはBLOBで貧弱になる傾向があります。どのDBMSを使用しているかによって異なりますが、何を試したのかは分かりません。あなたは準備が整った解決策を見つけるためにここに来なかったのですか? – stivlo

+0

私のEDIT – Dinkheller

答えて

3

私はこれが役に立つかどうかわからないんだけど、私はBLOBフィールド内のピクチャを格納しておくのポイントは、データベース内の特定のレコードで画像を関連付けるために、単純であると仮定することができますか?この場合、実際のファイルをDB内に格納しようとするのではなく、単にDB内の適切なイメージのファイルパスを参照する方が適切な場合があります。これは、実際のリソースをDBに格納するよりも一般的な方法です。これは、任意のサイズのアプリケーションに多大なスペースを占有します。

たとえば、データベース内にraw .jpgを保存するのではなく、プロファイルピクチャを個々のユーザーに関連付ける場合は、代わりにという名前のフィールドに保存します。各ユーザーの "profile_pic_path"のようなものです。次に、イメージを使用するたびにこのパスを参照できます。

+0

を読んでください私はデータベースを作成していません。 データベースを使用しているプログラムは、ブロブを保存することができる商品管理システムです。 そのように私はSQLに画像を取得しなければならず、ファイルパスだけを保存することはできません。 データベースはDBISAMです。 これまではSQLコマンドを使って写真を保存しようとしましたが、どのように動作するのか分かりませんでしたので、誰かがPHPを使ってこれを解決するのを助けてくれることを願っています。 – Dinkheller

2

あなたは(そうでない場合は、パスを変更すると、ファイルがアップロードされ、そのフォーム要素が「写真」と呼ばれていると仮定して)変数に自分の画像データを取得するために

$data = file_get_contents($_FILES['photo']['tmp_name']); 

を使用することができます。この変数の内容は、データベースのBLOBフィールドに格納することができます。

関連する問題