• ベストアンサー

htmlフォームから受け取ったファイルをDBへ保存

htmlのフォームタグ内で、input type=file で受け取ったPDFファイルを phpスクリプトで、MYSQLのデータベースへ保存したいのですが どのように書けばいいのかわかりません。 保存する型はBLOB型でよいといくつかのサイトで書いてあるのですが、 SQL文の書き方や、フォームから受け取ったデータの処理の仕方などの詳細が わかりません。 フォームで受け取ったファイルをデータベース(mysql)へ保存する 簡単なサンプルコードなどが知りたいです。 よろしくお願いいたします。

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

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

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

DBに取込みたい意図はなんでしょう? バイナリーデータをDBに入れても検索ができるわけでもなく かなり無駄が多いですよ ファイルの置き場をきめて、ファイル名を任意に置き換え、 ファイルの情報だけDBに登録する方がよいと思いますが そういう選択肢はないのでしょうか?

egawa0812
質問者

補足

バイナリデータをDBに取り込まなくても、検索してpdfファイルを表示できればいいんです。 ファイルの情報だけ保存する方法の場合はどうすればいいんでしょうか?

その他の回答 (1)

  • aoyama984
  • ベストアンサー率45% (253/561)
回答No.2

関連するQ&A

  • htmlフォームから受け取ったファイルをDBへ保存

    htmlのフォームタグ内で、inputtyp=file で受け取ったwordファイルやPDFファイルを perlで書いたCGIプログラムのほうで、MYSQLのデータベースへ保存したいのですが どのように書けばいいのかわかりません。 保存する型はBLOB型でよいといくつかのサイトで書いてあるのですが、 SQL文の書き方や、フォームから受け取ったデータの処理の仕方などの詳細が わかりません。 フォームで受け取ったファイルをデータベース(mysql)へ保存する 簡単なサンプルコードなどが知りたいです。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • ACCESSのフォームって?

    SQL言語を使って検索した結果をフォームに反映したいと思っているのですが、フォームには「ヘッダ」「詳細」「フッタ」がありこの違いがよく分かりません。 SQLだけで使う場合関係ないのでしょうか? 今まではMYSQL+PHP3を使っていましたが今回ローカルで動くデータベースが必要になりACCESSを使うことにしてみました。 変な書込みですいませんが宜しくお願いします。

  • 入力フォーム内容のDB保存について

    MySQLへの登録処理についての質問お願いします。 サイトの登録用ページを作っていていて、PHPでmySQLにデータを保存する。 というながれのプログラムを作っています。 空白のまま「送信」を押すと、空白エラー「メールアドレスを入力してください」のメッセージが出るようになっています。 その後のDB保存がどうしてもうまくいかないので間違えをご指摘いただければ幸いです。 DB接続は、 'データベースに接続しました'と表示されています。 soushin.phpの最後に記述しているheader('Location: soushin.php');が正しいのかもわかりません。 よろししくお願いします。 //index.php <html> <body> <form action="" method="POST" > <label for="mail">メールアドレス</label> <input name="mail" type="text" id="mail" size="35" maxlength="255" > <?php if($error['mail'] == 'blank'):?> <p class="error">メールアドレスを入力してください</p> <?php endif; ?> <br> <input type="submit" value="上記に同意して仮登録メールを送信"> </form> </body> </html> //soushin.php <?php session_start(); mysql_connect('localhost','my_db','') or die(mysql_error()); echo 'データベースに接続しました'; mysql_select_db('kaiin_touroku'); mysql_query('SET NAMES UTF8'); if (!isset($_SESSION['join'])) {     header('Location: index.php'); exit(); } if (!empty($_POST)){     //登録を処理する     $sql = sprintf('INSERT INTO kaiin_touroku SET mail="%s"',     mysql_real_escape_string($_SESSION['join']['mail']) ); mysql_query($sql) or die(mysql_error()); header('Location: soushin.php'); } ?> <!DOCTYPE HTML> ・ ・ ・ <form action="" method="post">  <dl>  <dd> <?php echo htmlspecialchars($_SESSION['join']['mail'], ENT_QUOTES, 'UTF-8'); ?>に送信いたしました。  </dd>  </dl>  </form>

    • 締切済み
    • PHP
  • PHPよりMySQL5.0にファイル(PDFやExcelなど)の登録について

    IIS上で動いているPHPよりMySQLを呼び出して、 ファイル(PDFやExcelやWordなど)をMySQLに登録することは可能でしょうか? 画像ファイルなどは、BLOBに保存しています。とネットでよく見かけるのですが、 他のファイルは可能でしょうか? (もちろん取得もいたします。) PHPは、 windows2003Server(IIS)で動いていて、 MySQL5.0は、Linux・unix上を考えています。 PHP:5.2.12 MySQL:5.0.60sp1 になります。 もし登録が可能であれば、どれくらいのファイルサイズまで可能でしょうか?

    • ベストアンサー
    • MySQL
  • MY-SQL+PHPファイルのアップロード

    MY-SQL+PHPでファイルを保存したり読み出したりしたいと考えています。 MY-SQLにファイルの保存先を保存して、ファイルはデータベース内ではないところにおいておき、読み出したりしたいとおもっています。 ただどのように作ればいいのかわかりません。簡単なサンプルだけでもご教授していただけないでしょうか?

    • ベストアンサー
    • MySQL
  • DB2のBLOB型カラムに格納されたファイルをアプリケーションで表示する方法

    こんばんは。 初歩的な質問なのですが、 宜しくお願いします。 データベースはDB2で、 BLOB型のカラムを持つテーブルがあります。 BLOB型のカラムには、PDFファイルが格納されています。 このPDFファイルを参照したいです。 どのようにすれば、 アクロバットリーダーで表示することができますか。

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

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

    • ベストアンサー
    • PHP
  • Mysqlにhtmlのフォームから登録できません。

    WindowsでphpからMysqlにデータを登録しようと思っているのですが、うまくいきません。 データベースの内容をHTML,PHPで書き出すことは正常にできたのですが、登校フォームから入力してもデータが書き込まれません。フォームのHTMLはおそらく間違ってないと思います。 これが受け入れ側のファイルの内容です。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php extract($_POST); mysql_connect('localhost','root','パスワード'); mysql_select_db('データベース名'); $sql = "insert into テーブル名 values('フィールド1の値','フィールド2の値','フィールド3の値','フィールド4の値',0)"; mysql_query($sql); ?> </body> </html> ファイル名は.phpの拡張子で保存してます。 Mysqlの環境設定はできているのに何故データを登録できないのでしょうか? 詳しい方どうか教えてください。よろしくお願いします。

  • フォーム情報をDBに追加できない

    はじめまして。 初心者で現在参考書を使ってMYSQL、PHP、HTMLを学習してるんですが フォームの情報をデータベースに格納できません。 (ken1.php) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title>県別人口面積その1</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <?php mysql_connect('localhost','root','freedom'); mysql_select_db('lesson'); $sql= "select * from todofuken"; $result = mysql_query($sql); $rows = mysql_num_rows($result); if($rows == 0){ echo "<p>該当データがありません。</p>"; } else { while($row = mysql_fetch_array($result)){ echo "<p>"; echo $row["kenmei"]; echo " "; echo $row["kencho"]; echo " "; echo $row["jinko"]; echo " "; echo $row["menseki"]; echo "</p>"; } } ?> </body> </html> (ken2.html) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title>フォーム文</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <p>データを入力してください</p> <form action="ken3.php" method="post" > <p>県   名<input type="text" name="ken" size="40"></p> <p>県庁所在地<input type="text" name="kec" size="40"></p> <p>人   口<input type="text" name="jin" size="40"></p> <p>面   積<input type="text" name="men" size="40"></p> <input type="submit" value="登録"> <input type="reset" value="リセット"> </form> </body> </html> (ken3.php) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title>ここにページのタイトルが入る</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <?php error_reporting(E_ALL & ~E_NOTICE); extract($_POST); mysql_connect('localhost','root','freedom'); mysql_select_db('lesson'); $sql = "insert into todofuken values('$ken', '$kec', $jin, $men, 0)"; mysql_query($sql); ?> </body> </html> ブラウザでken2.htmlのフォームにデータを埋め込み、そのデータを DBに追加したいんです。 問題はken2.htmlの登録ボタンを押してken3.php に移動するまでは良いんですが DBにデータが追加されません。 構文は参考書どうりにやっているので間違いないと思うのですが 原因がわかる方どうぞよろしくお願いします。

    • 締切済み
    • PHP
  • htmlフォームに入力したデータをMySQLに保存

    phonegapを使ってスマートフォンアプリを製作しているのですが、 htmlでフォームを作って、そこに入力された内容をMySQLに保存したいんですが、 うまく保存されません。 ネットで調べてみるとPHPを使ってやるような事も書いてありましたが PHPを使わないとフォームの内容をMySQLに渡せないのでしょうか?