作りたいと思っているシステムは、テキストと画像を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ランキング
-
phpで画像がどうしても文字化け...
-
透過PNGが透過されない!!
-
imageフォルダに、画像をリサイ...
-
ファイルアップロードのダイア...
-
Illustratorで文字と画像を流し...
-
BLOBデーターの画像の表示方法...
-
アップロード画像数でCSSを分け...
-
phpで画像を保存するときにリサ...
-
phpMyAdminに画像を保存できない
-
libpngでpng操作がうまくいかない
-
PHPで吐き出した画像にリンクを...
-
VBSの「MsgBox」について
-
最も速い画像合成処理を教えて...
-
phpについて
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
バッチを用いたフォルダの自動移動
-
phpとaspの違いについて
-
form actionで二つ送信先を指定...
-
PHP8を使うと、大量のWarningが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの「MsgBox」について
-
拡張子php画像をjpg画像等に変...
-
透過PNGが透過されない!!
-
Illustratorで文字と画像を流し...
-
アップロード画像数でCSSを分け...
-
imageフォルダに、画像をリサイ...
-
PythonのTkinter詳しい方へ。画...
-
VBAでJPGサイズ変更
-
C# Excelファイルへの画像挿入。
-
ListViewコントロールでサムネ...
-
PHPで吐き出した画像にリンクを...
-
php,mysqlにて画像パス保存/表...
-
PHP+PostgreSQLを使ってPDFファ...
-
スマートフォンから画像のアッ...
-
画像にテキストを埋め込むジェ...
-
実行ファイル(exe)に画像ファ...
-
ビットマップ画像を読み込むプ...
-
改行コードのカウント
-
Ajaxで画像表示
-
画像アップロードのファイル名...
おすすめ情報