2011-02-23 71 views

答えて

4

イメージの実際のバイトをデータベースに格納することは避けます。これは一般的には悪い考えです(Storing Images in DB - Yea or Nay?を参照)。代わりに、おそらくMarkdownレシピページのバージョンを格納する単純なTEXTフィールドを作成します。このページには、画像を指し示す画像タグまたはレシピの指示だけが含まれます。

0

ありがとうございます、画像データやテキストのVARCHARためBLOBを使用することができます。おそらくVARCHAR nameフィールドか、識別子/キーのフィールドがINT idのようになります。

0

あなたは簡単に

| id | image | text | 
--------------------- 
| |  |  | 

3 - フィールドテーブルのために行くことができる長い場合は、int型のID、AUTO-INCREMENTは、PK、画像はBLOBとテキストVARCHAR(255)またはTEXTである可能性があります。私は、イメージをblob(VARCHARフィールド、すなわち)の代わりにパスとして保存し、このパスのみを相対イメージを格納するフォルダに出力します。 )

1

イメージをDBに保存することはできますが、イメージをDBから取得してユーザーに提示するのは一般的ではありません(これはどちらも優れていません)。私は何らかのNASにイメージを保存し、レシピの他のデータと共にそのイメージをデータベースに保存することをお勧めします。

1

画像がアップロードされると、画像の一意のIDが作成され、画像ディレクトリに保存されます。

ストアTEXTフィールドを持つテーブルでユニークな画像ID: -

ID | image_id |レシピ

idフィールドはauto_incrementに設定する必要があります。あなたはおそらくタイトルフィールドが必要でしょう。 image_idは、ハッシュ関数を使用して生成あるいは再AUTO_INCREMENTすることができ

id | image_id   | recipe_title | recipe_body 
-------------------------------------------------------------------------------- 
1 | 218328132192.jpg | 'Boiled egg' | 'Put egg in pan and boil for 10 mins' 

- :

人口デシベルは次のようになります。

+0

ありがとうございます!それは助けになった。私は非常に低い評判を持っているので、あなたを投票することができます – abcy122

0

一般的にこのような状況で最高のアイデアは、(画像とテキストが分離されているという意味で、より管理しやすい)ダミアンPirsyが示唆するように、別のテーブル内の1つのフィールド内のテキスト、および画像PATHを格納することです。だから私はそれに私の声を加えるだけです。これは、データだけでなく、データがどのように表示されるかをよりよく制御します。そして最もデータベース効率の良い方法で。

イメージのサイズ自体をデータベースに格納することは、イメージの大きさと一度に取得するイメージの数によってはあまり効率的ではありません。そのようなフィールドの内容は可変であり、ユーザーの操作に依存しているため、パフォーマンスの観点から非常に安全ではないと考える必要があります。例えば。ユーザーが1MBイメージを挿入するとどうなりますか?

関連する問題