作りたいと思っているシステムは、テキストと画像をDBに格納し、編集と削除ができるような簡単なデータベースのようなものです。
そこで、DBにはSQLiteを使おうと思っているのですが、調べてみたところSQLiteに画像を格納するのはあまりよくない(できない?ややこしい?)というような記事などを目にしました。
実際のところはどうなのか、ということをお聞きしたいです。
画像はただ単純にサーバーにアップロードするような方法が望ましいのでしょうか。
どなたかご返答頂ければと思います。
どうぞよろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
php掲示板なので、phpから使うと仮定して答えますと、
php5.1以降であれば、SQLite3.0以降には、PDO関数を利用してデータベース接続出来るので、PDOのラージオブジェクトを利用して画像のファイルハンドルから直接バイナリーデータを入れることが出来ます。
取り出しは、そのまま、バイナリー文字列で取り出されるので、前後によけいな出力をせず、headerで適切なmimeタイプを指定すれば、echo $lob; でブラウザに画像表示出来ます。
私もまだ、マニュアル見ながらのコーディングですが、結構簡単にいけましたよ。
参考
http://jp.php.net/manual/ja/pdo.lobs.php
あと、既に指摘されていますが、問題は、SQLiteは1データベース1ファイルなので、一つのtableに大きな画像を大量に取り込むと、データベース用ファイルが凄く肥大化して、そのデータベースの他の操作も全て凄く時間が掛かってしまうようになるということでしょうか。
参考URL:http://jp.php.net/manual/ja/pdo.lobs.php
No.2
- 回答日時:
以下はSQLite3についてのアドバイスです。
SQLite2には当てはまりませんのでご注意ください。
どういった環境で使うかに依存すると思います。
SQLiteはCライブラリとして提供されていますが、直接Cから使う限りバイナリを格納することは難しくありません。
バイナリを読み書きするための機構があるからです。
しかし、その他の言語から使用する場合、また、C/C++から使う場合でもラッパーをかます場合などは、この限りではありません。
その言語、ラッパーライブラリの仕様に依存します。
ほかに考慮しなければいけないのは、データベースの大きさです。
一般に画像データは大きいため、すぐにデータベースが大きくなってしまいます。
残念ながら現在のSQLiteはデータベースファイルの大きさそのものに性能が影響を受けてしまいます。
どの程度の大きさまでなら大丈夫か一概に論じることはできないのですが、数GBというのが一つの節目にはなると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- 画像編集・動画編集・音楽編集 編集ソフト ダビンチリゾルブに関して 動画編集してる際にエフェクトや、テキストの読み込みが遅くなって 2 2022/09/02 23:24
- YouTube ユーチューブへの動画投稿にサムネイルを付ける方法は? 1 2022/07/21 23:45
- Mac OS Macか Windowsか?悩んでいます。 6 2023/04/07 09:35
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
- Chrome(クローム) サイトのショートカットアイコンの格納場所は? 1 2022/12/26 01:38
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- 美術・アート 顔の各部位を画像のような簡単なパーツから作っていきたいのですが、 鼻以外の、耳、顎、頬、目、おでこ、 4 2023/05/03 07:54
- Evernote Evernote(エバーノート)の文字化け 1 2022/04/05 19:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アップロード画像数でCSSを分け...
-
【PHP】サーバー上で TIFFをJPE...
-
★PHP★画像アップロードの際に余...
-
PythonのTkinter詳しい方へ。画...
-
C#とJavaで、MP3タグの画像を表...
-
C# Excelファイルへの画像挿入。
-
透過PNGが透過されない!!
-
Illustratorで文字と画像を流し...
-
GDの画像変換でサーバーに負荷
-
PHP + MySQL で画像データ表示
-
エクセルでカレンダーマクロの...
-
PHPで半透明画像を作りたい
-
VBSの「MsgBox」について
-
imageフォルダに、画像をリサイ...
-
PostgreSQLのラージオブジェク...
-
<img src="http://x.y.com/cgi-...
-
VBAでJPGサイズ変更
-
PHPによる画像の生成による色の...
-
こちらはただの直列処理ですか?
-
フォントの色を変えるには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの「MsgBox」について
-
拡張子php画像をjpg画像等に変...
-
透過PNGが透過されない!!
-
アップロード画像数でCSSを分け...
-
imageフォルダに、画像をリサイ...
-
VBAでJPGサイズ変更
-
Illustratorで文字と画像を流し...
-
VBAのコードを教えてください
-
C# Excelファイルへの画像挿入。
-
php,mysqlにて画像パス保存/表...
-
GDI+を使ったビット数とDPIの扱い
-
SQLiteに画像を格納したい
-
ListViewコントロールでサムネ...
-
★PHP?★画像を縦横比を変えずに...
-
ビットマップ画像を読み込むプ...
-
phpで画像がどうしても文字化け...
-
PHPで吐き出した画像にリンクを...
-
phpMyAdminに画像を保存できない
-
OpenGLで描いて画像ファイル出力
-
手作業で埋め込んだ、UserForm1...
おすすめ情報