• ベストアンサー
  • すぐに回答を!

画像をデータベースに保存するやり方

MySQLバージョン4.1.16を使用しています。 このジャンルでお願いします。 例えばPHPなどを使ってアプリケーションを作成する場合に 画像表示を行う個所があるとします。 その画像はデータベースに保存して、そこから表示させるやり方か、 それとも普通に1つの画像ファイルとしてフォルダに入れて、 「gazou.gif」のようにして表示させるやり方どちらが良いのでしょうか? なぜ前者も考えたかというと、あらゆるデータを1箇所(データベース)に 集めた方が良いのかな?と思ったからです。 ただ表示する度にデータベースに負荷がかかると思うのでどうなんでしょうか?

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数996
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

どちらにするかは画像の大きさにもよると思いますが 個人的にはSQLにファイルパスのみ入れてフォルダから画像を表示した方が簡単ですし管理も楽です。 もしSQLにファイル自体を入れてしまうと自分で管理ツールなどを作成しないと画像ファイルの管理が難しくなると思います。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご返答ありがとうございます。 なるほど、フォルダに入れたやり方だと データベースでやるよりも管理も楽になるということですね。

その他の回答 (1)

  • 回答No.2
  • yambejp
  • ベストアンサー率51% (3827/7415)

バイナリデータはデータベースに入れても検索性があがるわけではないので 入れる必要は感じませんね・・・ たとえば同じ名前でデータがかわって履歴が必要など、なんらかの運用上の 必要性があれば別ですが・・・

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご返答ありがとうございます。 なるほど、どうやらフォルダに入れたやり方のほうが良さそうですね。

関連するQ&A

  • データベースから検索結果に画像表示

    mysql の画像データを表示。 phpmyadminでBOLBでデスクトップ上の画像をデータベースに保存し、phpで<?php print"<td>{$row['gazou']}</td>"; ?>で呼び出しますが、酷いバグになります。宜しければ正しいやり方教えてください。

    • 締切済み
    • PHP
  • 画像をCSSのurlを使って表示する方法

    ./gazou/background/bg005.gifこちらに画像ファイルがあるのですが、この画像をCSSのurlを使って表示するときどのように指定すればよいのでしょうか? ./basecss.cssに background-image :url("./gazou/background/bg005.gif");と記載してもうまくいきません。 カレントデイレクトリはすべて同じデイレクトリです。 CSSもカレントデイレクトリは./ではないのでしょうか?ほかのフォルダにある画像ファイルは問題なく表示されます。 {background-image:url("../test/gazou/background/bg006.gif"); 上記はうまくいく。

    • ベストアンサー
    • CSS
  • BLOBデーターの画像の表示方法を教えてください。

    php(4.3)とmysql(4.0)を使って、BLOBに格納した画像を表示させたいです。 テーブル:gazou 画像名:aa.gif | id |   images    | | ̄ ̄| ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄ | 1 | [BLOB-2.9KB] | ↑ PHPMYADMINでデーターを作って、画面にはこのように表示されています。 <html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=EUC-JP”> </head> <body> <?php $conn = mysql_connect("localhost","user","pass"); mysql_select_db(test); $self = basename($_SERVER['PHP_SELF']); $sql = " SELECT * FROM gazou "; $rst = mysql_query($sql,$conn); while($row=mysql_fetch_array($rst)){ print"<img src='{$self}?id=$row[id]'>"; } ?> </body> </html> 本やネットで自分なりに調べた結果、これで画像が表示されるはず(!?)だと思っているのですが、残念ながら、画像は×になって表示されません。 初歩的な質問ですみませんが、どうすれば画像は表示されるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • データベース名などこれで合っているでしょうか・・。

    すいません。初めてデータベースを扱うのですが、今までローカル環境でしか動かしていないため どのように実際に動かすのか分からない部分があります。(サイトは完成していましてローカル環境ではちゃんと動きました) まずデータベース名やアカウント名なのですが、データベースのためにさくらのサーバーを借りました。 データベースの設定画面を見ると以下のようになっています。 ----------------------------------------------------- データベース バージョン: MySQL 5.5 データベース サーバ mysql9999.db.sakura.ne.jp データベース ユーザ名 (初期アカウント名) abcd777 接続パスワード変更 ************ データベース名 abcd777_data ------------------------------------------------------- 上記の場合以下で合っているのでしょうか? $pdo = new PDO("mysql:dbname= _abcd777_data ; host=mysql9999.db.sakura.ne.jp", "abcd777", "************"); ポート番号なども設定があるような事も書いてあるサイトがあるのですが何をどうしてよいのか 全く分かりません。(とりあえず上記のような設定でデータベースからデータをphpで呼び出しましたが 上手く動きませんでした) もう一つ疑問があるのですが、私はトップページをindex.phpとしましたが、上記のような方法では アカウントやらパスワードが丸見えですよね? そもそも私は全く違う事をしているのでしょうか? できれば実際の運用の流れも簡単に書いてもらえると助かります。

  • 画像をDBに保存し、表示させるのは・・・?

    はじめまして。 今、(1)ファイル参照から画像ファイルを選択してDB(MySQL:phpMyAdmin2.10.1)にある フィールド(gazou)へBLOBのバイナリで保存し、 (2)違うぺージでDBに保存してある画像を、検索して表示させたいのですが、 以下のようになってしまい、表示できません。 http://shokuhidiet.web9.jp/a/3.bmp ソースを載せておきます。どうかよろしくお願いいたします。 http://shokuhidiet.web9.jp/a/sos.txt

    • ベストアンサー
    • PHP
  • CGI(掲示板やカウンターなど)とデータベースの利用の意義

    CGIを作るのに、(掲示板やカウンターなど)、でファイルの代わりにデータベースを使うのは、意味ありますでしょうか。 想定環境は、linux と PHP と MYSQL です。 掲示板やカウンターにわざわざデータベース使う意義ってあるんでしょうか。 データベースを利用した場合、負荷軽減など、向上するんでしょうか。 海外のスクリプトにPHPとMYSQL を使ったものがよくありますけど、 やっぱり、負荷軽減とかに効果的なんでしょうか。 特に効果もないならファイルで十分と考えてるんですけど、そのあたりが、よく分かりません。

  • 画像パスをデータベースに入れたいのですが

    現在、PHPを勉強中の身のものです。勉強中ということで色々プログラムを作成し試行錯誤しています。そして、つまりに詰まってわけがわからなくなったので質問させてもらいました まず、現在考えている事は書き込みフォームに名前を書く欄と、画像をアップロードするボタンを作ろうと考えています。言語はPHP、データベースはMysqlです。簡易画像アップロード掲示板みたいなものですね。 名前を入力し、データベースに保存は結構簡単にできました。次に、画像をアップロードして、同時にデータベースに画像パスを保存というシステムを組もうと考えたのですが、中々上手くいきません。画像を特定のフォルダへアップロードすることは簡単だったのですが、それを画像パスとしてデータベースに保存する事ができませんでした。 ネットで調べても、具体的な方法が書いてませんでしたのでよくわかりませんでした。理屈はなんとなーくわかるのですが、なにぶん自分まだ超初心者でして、現在は具体的なプログラムを見て、理解していく勉強法を行っています。 お手数ですが、プログラミングに詳しい方、お時間があるときで良いのでアドバイスを頂けると嬉しいです。詳しい方にとってはこの程度って思うかもしれませんが、私はこれで数時間つぶされて現在も試行錯誤中です。なので少しでも手がかりができれば嬉しいです

    • ベストアンサー
    • PHP
  • データベースに画像を入れた場合の速度について

    こんにちは。 今phpとデータベースを勉強中でしてそれを使ったウェブサイトを作りました。 画像とその画像の説明文をいろんな条件で並び替えるサイトです。 プログラム自体はできあがったのですが、文章はデータベースに入れるとして、画像も できたらデータベースに入れたいと思い調べてみると入れる事はできるようです・・。 ただ画像の量が多く最終的には5000枚-10000枚くらいになりそうです。 複数の条件で並び替え→表示とする場合、データベースに画像を入れる場合と、サーバにそのまま置く場合では結果表示速度に差ってでるものなのでしょうか・・。(そのサイトを数十人が一度に並び替えをすると仮定して) どこかのサイトに画像をデータベースに入れるとかなり遅くなるというような事が書いてありました。 事実でしょうか? 質問の意味が分かりにくいかもしれませんが詳しい方いましたらご回答いただけると助かります。

    • ベストアンサー
    • MySQL
  • phpで読み込むmysqlのデータベースが文字化け

    閲覧ありがとうございます。 数年前に作成し、なんの問題もなく運用していた顧客管理のデータベースが昨日から日本語の部分のみ文字化けをおこし????という表示になっています。 サーバーからmysqlのデータを見に行くと、データそのものには問題がなさそうです。 変更は何も加えていません。 サーバー側も見に行きましたが、メンテナンスや変更は行われておりません。 phpからの読み込みに問題があるのかと思ったのですが、新しくテストで入力した文字列に関してはちゃんと表示ができていたので、一体何に問題があるのかわからなくなっています。 読み込みに問題があるとすれば、新しく入力したものに関しても文字化けすると思ったのですが・・・。 考えられる原因と、できる対処はなにかありますでしょうか? phpバージョン PHP5.3.3 mysqlバージョン MySQL5.0 文字コード UTF-8

    • 締切済み
    • PHP
  • PHPで画像をデータベースから表示したいです

    画像とテキストを同じファイルで表示したいのですが文字化けしてしまいます。 <?PHP header('Content-type: image/gif'); readfile('アドレス/232-73.gif'); ?> 画像だけの場合は表示はできるのですがテキストと一緒に表示しようとしましたが上手くできません。 どうしたらいいでしょうか?

    • 締切済み
    • PHP