• 締切済み

SQLserverにPHPから画像を挿入して表示する方法をお願いいたします。

お世話になります。 いま、PHPの勉強をしているのですけれど、SQLserverにPHPから画像ファイルを挿入をいたしまして、 そのデータベースに入りました画像をPHPで表示する方法がなかなか分からずに考えております。 環境は、 windowsXP、 Apache2、 PHP 5、 データ型はImage型のフィールドを作成してみました。 よろしければ、お願いいたします。

  • PHP
  • 回答数1
  • ありがとう数4

みんなの回答

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

画像は普通のファイルとして保存してデータベースには画像ファイル名を記録する方法では駄目でしょうか。 これなら画像ファイルパスとファイル名を<img>タグで呼び出すだけでいいんですが。

ourles
質問者

お礼

お返事ありがとうございます。 おっしゃられました通りに、画像は普通のファイルとして保存をしましてデータベースには画像ファイル名を記録する方法をいたしまして、この方法も良い方法だと思いました。 けれども、せっかくなので、データベースに保存を出来る方法も解れたましたらと思っています。 よろしくお願いいたします。

関連するQ&A

  • テキストファイルをSQLServerデータベースのbinary型またはvarbinary型に保存したい。

    VB6から『画像ファイル(.bmpと.jpg)』、『テキストファイル(.txt)』を SQLServerデータベースに保存するといったものを作成しようとしています。 フィールドのデータ型は、画像をimage型、テキストをvarbinary型に設定したいと考えておりまして、画像の方は、Byte型に代入後、LoadFromFileメソッドやWriteTextメソッドで保存や取込が出来たのですが、テキストの方が、同じようにByte型に代入までは出来たものの、その先どのようにして保存(取込)をして良いか分かりません。(エラーになってしまいます。) テキストの方もデータ型をimage型にするしか方法はないのでしょうか? 何か良い方法があれば教えていただけませんでしょうか? 宜しくお願いします。

  • PHP5.1.6でsplite3を使いたい

    こんにちは WindowsXP+PHP5.1.6+Apache2の環境でsqliteを使用したデータベースのプログラムをしたいのですが、sqlite_openで作製したデータベースファイルは依然としてsqlite2形式のままです。 これをsqlite3形式にするにはどうしたらよいのでしょうか?

    • 締切済み
    • PHP
  • phpでSQLSV2005の画像を表示する方法

    いつもお世話になっております。 php5.1でSQL Server 2005のIMAGE型内の画像を表示するにはどうすればよいでしょうか。 以下のソースでデータを読み込んで出力しようとしていますが、 ブラウザには × が表示されてしまいます。 **** phpここから ************************************************************* header("Content-Type: image/jpeg"); header("Content-Disposition: inline;"); header("Content-Transfer-Encoding: binary"); $con = mssql_connect("xxDBサーバxx", "xxIDxx", "xxパスワードxx"); if (!$con) { print("データベースへの接続に失敗しました"); exit; } if (!mssql_select_db("xxDB名xx")) { print("データベースへの接続に失敗しました"); exit; } $sql = "select img_data from foo "; //img_data は IMAGE型 $result = mssql_query($sql); if (!$result) { print("SQLの実行に失敗しました<BR>"); exit; } $row = mssql_fetch_row($result); echo $row[0]; **** ここまで ******************************************************************** DBのフィールド img_data には数百KBの画像データが入っているはずなのですが、 試しに strlen($row[0])の値を見てみると、4096でした。 4KBしかデータを得れていない様に見えます。 もしかすると、特殊な変換をしないとデータを得ることができないかとも思ったのですが、 同じテーブルを使用するVB6.0のプログラムでは以下の様な問合せで表示できている様子です。 SQL: SELECT img_data FROM foo もしかすると、PHPは特殊な処理をしないとデータを得ることができないのでしょうか・・・? お詳しい方がいらっしゃいましたら、何卒ご教授をお願い申し上げます。 何卒よろしくお願い致します。

    • 締切済み
    • PHP
  • 画像データの表示方法

    開発環境:WindowsXP(Home)&VB6&Access2000  VB初心者です。 Accessで作成したデータベースに画像を登録してそれを VBで作成したForm上の表示するにはどうしたらいいのでしょうか? 不明箇所1:   Accessの画像情報を収納するデータ型は何が最適か?(OLEオブジェクト?)   画像データはファイルで所持しています。 不明箇所2:   どうやってVBでFormに表示するか?   画像データはない場合もあるとします。 具体例で教えて頂けると助かります。

  • DBへの画像の挿入について

    現在filemakerPro6 windowsにて画像管理のデータベースを作成しているのですが、画像の挿入で不明に思った点があったので質問しました。 やろうとしていることは、 スクリプトでローカルのフォルダ内の画像(「レコードID」_a~f.jpgの名前で統一)を、ファイル名の_a~fで判別させて、各フィールド(画像a~f)に挿入 としたいのですが、 計算結果に "image:/D:/フォルダ名/" & レコードID & "_a.jpg" を試してみましたが上手く行かず(パスに変数が使えるのはver8から?) リレーションを使用すれば同じようなことが出来るのかと思いましたが、そこでも行き詰っている段階です。 (画像の一覧のデータベースからファイル名(1234_a.jpg)を参照してサムネイル画像をリレーションで表示できないものか…と) 上記と同等の処理を実現出来そうな方法が無いか、ご存知の方がいらっしゃればご教授お願いします。

  • PHPで「~」文字が化けてしまう

    VertrigoServ にて、WindowsXPへ  Apache 2.0.63  PHP 5.2.6  MySQL 5.0.51b  SQLite 3.5.9  PhpMyAdmin 2.11.7  SQLiteManager 1.2.0  Zend Optimizer 3.3.3  をインストールしました。  その後、PhpMyAdmin で既に用意されていた test データベースに  tbl という名のテーブルを用意し、二つのフィールドを作成しました。  データベース | 照合順序 ------------------------------------------  test | sjis_japanese_ci  フィールド | 種別 | 照合順序  ----------------------------------------  name | text | sjis_bin  name2 | text | sjis_japanese_ci  この name 、name2 フィールドに「~」という文字を挿入してみたら、  データの表示で「?」と表示されてしまいました。  「あ」と挿入しても「あ」と表示されます。  どうしたら「~」と表示されるようになるのでしょうか?  因みに、PhpMyAdminのログイン後のトップページでは、  MySQL の文字セット: UTF-8 Unicode (utf8)  MySQL の接続照合順序:utf8_unicode_ci  と表示されています。  これが問題なのでしょうか?

    • ベストアンサー
    • PHP
  • Linux PHPからSQLServerに接続できない

    Linuxにphpをインストールしたのですが別のWindowsServerのSQLServerに接続することができません。 LinuxにインストールしたMySQLのデータは参照できています。 なにかモジュールやドライバーなどが必要なのでしょうか? ちなみに別のWindowsから該当のSQLServerは接続できているのでホスト名、DB名、User名、Passwordは 正しいと思います。 以下は環境とphpインストール時のオプションです。 もし、不足しているものがあれば教えてください。よろしくお願いします。 ./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --enable-mbregex --enable-trans-sid --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql Red Hat Linux 8.0 Apache 2.0.55 php-5.1.2

    • 締切済み
    • PHP
  • SQLServer2000からSQLServer2005へのデータ移行

    SQLServer2000からSQLServer2005へのデータ移行方法 Microsoft SQL Server ManagementStadio Expressで SQLServer2000のバックアップファイルから、 ローカルの開発環境(SQL Server2005 Express)でデータベースを復元しようと試みましたところ、 復元が正常に出来ませんでした。 復元はエラーが発生せず完了しデータベースは作成されているのですが、 データベースを右クリックで削除やプロパティを見ることもできず、 どのようなテーブルが存在するのか中身の参照も追加も何もできない状態です。 http://qanda.rakuten.ne.jp/qa4183273.html 上記URLなどでSQL Server2000のバックアップから2005で復元しているような発言がされているので 可能だと思うのですが、何か特別な処理が必要なのでしょうか? ご存じのかた、教えていただけますようお願いいたします。

  • SQLServer2008

    SQLServerは始めてです。 SQLServer2008 Management Studio Expressを自分のPCにインストールしました。やりたいことは、自分のPCでサーバー、データベースを作ってVB6でデータを取得したりするアプリを入れて動かせる環境に したいのですが。(他のPCにサーバーを設定せず)インストールした後、どうやってサーバー登録するのか本を見てもよく分かりません。複雑なSQLを作成しなくてもSQLServerでは簡単にできるような事を本に書いてあるみたいですが。 SQLServer Management Studio を起動するとサーバーへの接続画面が 表示されます。でもまだサーバーの登録がされていないので、エラーになってしまいます。左側のオブジェクトエクスプローラは空っぽです。この後何をすればいいのか分かりません。 それとも何か足りないのでしょうか?サーバーの登録、データベースの作成方法を教えてください。そしてサーバーへの接続画面で入力して エラーなくサーバーに接続し、データベースに接続できるように教えてください。

  • SQLServer2005Express のインストールと初期設定について

    SQLServer2005ExpressをOS:XPにインストール インストール条件は揃っているものとします。 やりたい事は、SQLServer2005Expressのインストールと データベースの設定です(テーブル、フィールド、初期データ) これを出来るだけ簡単な操作で済ませたいと思います。 1.SQLServer2005Expressのインストールは、コマンドラインから 実行可能な事が分かり、テストし、上手くいきました。 バッチファイルを準備し、ダブルクリックでインストール完了 2.データベース設定 テーブル、フィールド設定、 データ作成を簡単にやる方法を 探しています。 SQL Server Management Studio Expressのインストール後、 MDFファイルのアタッチでは、操作が煩雑すぎます。 出来れば、Severインストール時と同じように、1ファイルのダブルクリックで 完了させたいのですが、方法はあるでしょうか?

専門家に質問してみよう