• ベストアンサー

画像をDBに登録する方法

$gazou1 = 'base.gif'; $gazou2 = $row['gazou']; $output =uniqid("").'.gif'; $cmd = 'convert -compose over ' . $gazou1 . ' ' . $gazou2 . ' ' . $output; system($cmd,$ret); if ($ret===0){ print '<img src=' . $output . '>'; $outputで生成された画像をDBに登録する方法を教えてください。

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

  • ベストアンサー
  • foreach
  • ベストアンサー率51% (43/84)
回答No.2

まあ、そこまで目くじら立てて怒る必要はないとは思うけど、1さんが言うのも一理あってBLOB形式で格納しようとデータベースに依存しますし取り扱いが非常に面倒です。 (その分、効率的に取り扱いが出来るメリットがある) 一番簡単なのは画像をTEXTデータに変更して格納する手法です。 これだとデータベースの種類にあまり依存せずBLOBと比較しても取り扱いが簡単です。 カラムの種類はMySQLならLONGTEXTなど大きめなTEXT形式を推奨。 // 保存時 $data = base64_encode(file_get_contents(アップロードされた画像ファイル名)); ※$dataはテキストデータになるのでINSERT/UPDATEで保存できます // 読み出し時 $img = base64_decode(DBテーブルのTEXTデータ); // 読み出したデータを保存 $file = fopen(保存するファイル名, "w"); fwrite($file, $img); close $file; こんな感じで行けると思います。 ※適当に書いただけなのであくまでも参考程度に ただし、MySQLは1カラムに格納できるデータ容量がデフォルトで最大1MBまでなのでご注意を。 ※しかもbase64の段階でデータ量が増えます レンタルサーバーだと設定変更が出来ないのでアップロードした後にGDかイメージマジックでリサイズしてあげる処理が必要になるでしょう。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

> $outputで生成された画像をDBに登録する方法を教えてください。 だったら、何のDBを使っているのかぐらい書きなさい。 難しいことから修得しようとするのは勝手だが、少しは自分で調べないと無理だよ?

noname#142703
質問者

補足

mysqlです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 前のページの情報を次のページで受け取るには??

    a.php ---------------------------------- $gazou1 = 'base.gif'; $gazou2 = $row['gazou']; $output =uniqid("").'.gif'; $cmd = 'convert -compose over ' . $gazou1 . ' ' . $gazou2 . ' ' . $output; system($cmd,$ret); if ($ret===0){ print '<img src=' . $output . '>'; ---------------------------------- このページの$outputの情報を b.php ---------------------------------- $gazou1 = ''; $gazou2 = $row['gazou']; $output =uniqid("").'.gif'; $cmd = 'convert -compose over ' . $gazou1 . ' ' . $gazou2 . ' ' . $output; system($cmd,$ret); if ($ret===0){ print '<img src=' . $output . '>'; ---------------------------------- の$gazou1の部分で受け取るにはどうしたら良いですか??

    • 締切済み
    • PHP
  • セッションの手法に関しまして

    a.php ---------------------------------- <?php session_start(); $_session['output']= $output; ?> htmlの上 $gazou1 = 'base.gif'; $gazou2 = $row['gazou']; $output =uniqid("").'.gif'; $cmd = 'convert -compose over ' . $gazou1 . ' ' . $gazou2 . ' ' . $output; system($cmd,$ret); if ($ret===0){ print '<img src=' . $output . '>'; ---------------------------------- と、書いて b.php ---------------------------------- <?php if($_SESSION['output']){ echo '<img src=' . $output . '>'; } ?> と、書いたら画像情報がB側で表示されるかなと思いましたが表示されません。修正点等御指摘下さい。

    • ベストアンサー
    • PHP
  • クリックするたびに接続したい。

    $gazou1 = 'base.gif'; $gazou2 =$row['gazou']; $output ="out.gif"; $cmd = 'convert -compose over ' . $gazou1 . ' ' . $gazou2 . ' ' . $output; system($cmd,$ret); if ($ret===0){ print '<img src=' . $output . '>'; } else { print "ret=" . $ret . "<br />"; } echo '<strong>商品名:</strong>'.$row['syou'].'<br/>'; echo '<strong>価格:</strong> '. $row['kakaku'] . '<br />'; このようにした場合、例えば商品が 豆腐 春雨 と有った場合、豆腐をクリックすると豆腐が表示されますが、春雨をクリックすると画像だけ豆腐のままで、ページ更新してやっと春雨の画像になります。これでは使えないので、豆腐をクリックしたら豆腐の画像、春雨をクリックしたページ更新しなくとも春雨の画像が表示するとようにするにはどうしたら良いですか??

    • 締切済み
    • PHP
  • これは相対URLなんですか?

    HTMLを少しかじっている者です。 仕事の関係で、とあるサイトのデータをローカル上に落として、ローカル上で動くようにしているのですが・・・・ サイトのソースを見た所、画像のファイル名のURLの書き方が以下のようになっています。 <img src="/image/gazou.gif"> 私は以下のような書き方しか知らないのですが、 <img src="gazou.gif"> <img src="image/gazou.gif"> <img src="../image/gazou.gif"> <img src="/image/gazou.gif">この書き方も相対パスの書き方なんですか? 本当に、少しだけHTMLをかじっているだけなので、もしかしたら基本的な事なのかも知れませんが、みなさまどうか、教えてください。

    • ベストアンサー
    • HTML
  • ランダム画像 & マウスオーバー画像切り替え &

    こんにちは。 どうしてもわからない事がありますので質問させて下さい。 下記ソースにてランダム画像切り替えとマウスオーバーにて画像変更を行ってます。 <script language="javascript"> <!-- //ランダムにgazouを表示 img = new Array(); img[0] = "gazou1.jpg"; img[1] = "gazou2.jpg"; img[2] = "gazou3.jpg"; img[3] = "gazou4.jpg"; img[4] = "gazou5.jpg"; img[5] = "gazou6.jpg"; n = Math.floor(Math.random()*3); m = n+3; document.write("<img src='"+img[n]+"' border='0' onmouseover=src='"+img[m]+"' onmouseout=src='"+img[n]+"'>"); //--> </script> さらにマウスオーバー時の画像それぞれ個別にリンクを張り さらにそれをインラインフレーム内で表示するのでtarget="_top"の値を付け加えたいです。 そのような事が可能であれば是非ご教授頂ければありがたいです。 みなさま、よろしくお願い致します。

  • 正規表現を使った置き換えにおいての質問。置き換えたい文字列が変数だったら。

    こんにちは、 以下のような作業をperlで正規表現の置換を用いて行いたいのですがどのようにすればよいのでしょうか。 ===================================== $iが1-3までの数字をしめしています。 また、 $filename[1]='./gazou1.gif' $filename[2]='./gazou2.gif' $filename[3]='./gazou3.gif' のような配列変数があるとします。 以下のようなテキスト文章を $1$ $2$ $3$ 次のように変換します。 <img src="$filename[1]"> <img src="$filename[2]"> <img src="$filename[3]"> $filename[1-3]には画像のパス名がはいっているので、最終的出力されるときには <img src="gazou1.gif"> <img src="gazou2.gif"> <img src="gazou3.gif"> となるようにしたいです。 このような作業を行う置換操作はどのようにすればいいのでしょうか。 次のようにしてみましたが、できません。 for($i=1;$i<4;$i++){ $main_body=~ s/\$[$i]\$/<img src="$filname[$i]">/g; } ちなみに、これを実行すると <img src="">となり、何も入りません。 置換したい単語が変数だったらできないのでしょうか? 回答よろしくお願いします。

    • ベストアンサー
    • Perl
  • 拡張子無しで画像を表示したいです

    お世話になります 拡張子を省略して画像を表示させることは可能でしょうか? 下記の様なimgタグで$idがファイル名の場合で、拡張子が不明です <img src="/gazou/1/$id" /> ◆例 /gazou/1/1 → /gazou/1/1.gif /gazou/1/2 → /gazou/1/2.jpg /gazou/1/3 → /gazou/1/3.png htaccessとかだとは、思うのですが行き詰まってしまいました 宜しくお願い致します

    • ベストアンサー
    • CSS
  • サイトの画像が出ない

    またまた質問です。 <img src="../gazou/huriru1b.jpg">(わざと全角) としている画像がネット上で出ないのです。 ×印になっています。 (ローカルでは表示される) ほかの画像は表示されます。 例)<img src="../gazou/setmi01b_b.gif"> プロパティで見ると「使用不可」となっていますが、アップロードはされているのです。 どうして画像が出ないのでしょう。

  • 画像サイズを指定する

    1~6まで全て同じサイズ(200*100)の画像があります。 この画像を下記のスクリプトを使用してランダムに表示させ、 マウスを重ねるとその画像に対応した画像に切り替わる (画像1なら画像4という風に) ということをしているんですが、 表示サイズを300*150で表示させるためには どうしたらいいのでしょうか? <script language="javascript"> <!-- //ランダムにgazouを表示 img = new Array(); img[0] = "画像1.gif"; img[1] = "画像2.gif"; img[2] = "画像3.gif"; img[3] = "画像4.gif"; img[4] = "画像5.gif"; img[5] = "画像6.gif"; n = Math.floor(Math.random()*3); m = n+3; document.write("<img src='"+img[n]+"' border='0' onmouseover=src='"+img[m]+"' onmouseout=src='"+img[n]+"'>"); //--> </script> 基本的なことで申し訳ありません。 どなたかわかる方がいらっしゃれば宜しくお願い致します。

  • ロールオーバー画像の枠線を消したい

    初めてホームページ作成中の超初心者です。 ロールオーバーで、下記のタグで表示させたのですが、画像の枠線が出てしまいました。 普通に<img src="img1.gif">と書くと出ない画像なんですが・・・ リンク画像の枠線を消すのと同じ要領でborder="0"とも書き加えてみましたが、(4ヶ所とも)今度は何も表示されなくなってしまいました。 <問題のタグのひな形> <a href="http://www-------"onmouseover = "document.bt.src = 'img1.gif'" onmouseout = "document.bt.src = 'img2.gif'"onclick = "document.bt.src = 'img3.gif'"><img src = "img2.gif" name="bt"></a> どうぞ宜しくお願いします!