• ベストアンサー

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

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

  • MySQL
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • calltella
  • ベストアンサー率49% (317/635)
回答No.1

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

takagoo100
質問者

お礼

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

その他の回答 (1)

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

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

takagoo100
質問者

お礼

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

関連するQ&A

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

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

    • 締切済み
    • PHP
  • ASPでデータベースに画像を保存

    ASP+SQLServer7.0でデータベースに画像を保存し、それを呼び出して表示できるようにしたいのですが 具体的にどうすればいいのかが分かりません。 フォルダに画像を保存することは出来ています。 image型にバイナリデータを保存するのではないかと何となく考えてはいるのですが良く分かりません。 よろしくお願いします。

  • データベースへの 画像の保存()

    PHP4→5に移行作業中です。 画像をデータベースに取り込む部分が正常に動作しなくなり作業が中断しています。曖昧な質問で申し訳ないのですがチェックすべき問題点としてはどのようなものがあげられるでしょうか? ひとつ気になった部分で、 下記の処理に問題はないでしょうか? $entry['NAME'] = Safe($_FILES['PICTURE']['name']); 旧環境 PHP4.3.11 MYSQL4.1.11 新環境 PHP5.2.5 MYSQL4.1.22 よろしくお願いいたします。

    • 締切済み
    • PHP
  • データーベースのすべての画像を取り出したい

    データーベースのテーブル内の画像をすべて取り出すプログラムを書いています。 データベース(Mysql)には画像が4列(4個)存在しますがプログラムの書き方が悪いと思うのですが、1つしか画像を取り出すことができません。 すべて取り出すにはどこを直せばよいでしょうか? 書いたソースは以下になります。 たぶん$img_db=$row["img_data"]; echo $img_db;が原因のような気がしますが分かりません。 詳しい方教えてください。 <display.php>(データーベースから読み込みようphp) <?php $conn=mysql_connect("localhost","root",""); mysql_select_db("practice"); $result = mysql_query("select img_data from sample "); while($row= mysql_fetch_array($result)){ $img_db=$row["img_data"]; echo $img_db; } ?> <output.php>(ブラウザ表示用php) <html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8”> <title>画像表示</title> </head> <body> <p>MySQLのBLOBにバイナリで格納した画像を表示してみます。</p> <?php echo "<img src=\"display.php?$img_db\">" ?> </body> </html>

    • ベストアンサー
    • PHP
  • 画像パスをデータベースに入れたいのですが

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

    • ベストアンサー
    • PHP
  • JPGファイルの保存についてですが。

    拝啓 ご専門家の方 HP用の画像(写真)を (1)スキャナーで、フォトショップを用い、コンピューター内に取り込みました。 (2)JPG形式にて保存しました。 (3)フロントページエキスプレスにて、HTMLファイルに貼り付けますと、画像が現れません(壊れた画像の絵の表示)。試しに過去に作ったJPGファイルを貼り付けるときちんと貼れるのですが、新しく作製したJPGファイルの貼り付けが、うまくかないのです。一方、その画像をgif形式で保存して、貼り付けてみると、きちんと表示されます。 (状況としましては、homepageという名のフォルダの中に、各種htmlファイルそして、gazouという名のフォルダを作っています。gazouフォルダの中に各種画像を作っているのですが、今までは、画像を作った後、このgazouフォルダに入れて、各種HTMLファイル上で問題なく貼り付けし、表示されていたのですが、更新しようと思い、現在作業をしているのですがうまくいかないのです。) いままでは、特に意識せずにJPG保存していましたが、保存の際になにか特殊な事をやらなければならないのでしょうか? 専門家の方、ご教示下さい!よろしくお願いいたします。 敬具 

  • 画像を保存する場所

    おはようございます。質問をさせてください。 htmlで画像を貼り付けるときには、 『<img src="">』 『<img src="フォルダ名/xxx.gif">』 『<img src="../フォルダ名/xxx.gif">』 などを使いますよね。 あるサイトで、自分のPCにしかないフォルダの画像は表示されない、とありました。 そこでお聞きしたいのですが、私はhtmlのメモ帳と画像を、ネットワークに保存しています。 そのネットワークは、サーバーが担っているので、私のPCに入れると重くなると思って使っています。 もしかしたら、ここの保存していると、画像が表示されないのでしょうか。 やはり、マイドキュメントに保存しなければ、表示はされないのでしょうか。 それともただ、私のやり方が間違えているだけなのでしょうか。 分かりにくい表現だったと思いますが、教えてていだだけると嬉しいです。

  • MySQLでデータベースを一つのファイルにひたすら保存していいのか

    MySQLでデータベースを一つのファイルにひたすら保存していいのか PHPでMySQLを使用しています。 データベースを作る時は以前から二つの方法を使っています。 ・データベースファイルを一定のデータ量になると分割する方法 ・データベースファイルを分割せず一つのファイルにひたすら保存していく方法 これはどっちがいいのでしょうか? 一つのデータベースファイルに保存し続けるとユーザーがアクセスする際は そのデータベースファイルにしかアクセスしないので共有ロックの関係で ユーザーが増えるほど分割した場合に比べてオープンが低速化したりしないでしょうか?

    • ベストアンサー
    • PHP
  • 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
  • 画像を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