質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

537閲覧

sql serverにvarbinary型で格納したEXCELファイルをPHPでダウンロードしたい

manda

総合スコア6

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2018/07/31 06:10

編集2022/01/12 10:55

SQL SERVER 2015のテーブルに保存したエクセルファイルをPHPのリンクからダウンロードしたい。

ファイル名をクリックした際、DBに格納されているエクセルファイルをダウンロードできるようにしたいのですが、FILE_NM カラムの取得ができません。
格納されているエクセルファイルをダウンロードする方法をご教示ください。

以下、テーブル作成時のコードと作成途中のコード

SQL

1USE TEST_SERVER 2CREATE TABLE TEST(KUBUN varchar(2), FILE_NM varbinary(max),VERSION varchar(10),UPDATE_DT datetime) 3INSERT INTO TEST(KUBUN,FILE_NM,VERSION,UPDATE_DT) 4SELECT '1',img.BulkColumn,'1.0',sysdatetime() 5FROM (SELECT * FROM OPENROWSET(BULK N'C:\test.xlsm',SINGLE_BLOB) AS i ) img

PHP

1<!DOCTYPE html> 2<html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <title>Excelダウンロードテスト</title> 6 <style type="text/css"> 7 table{ 8 border-color:black; 9 border-style:solid; 10 boder-widht:1px; 11 } 12 td{ 13 border-color:gray; 14 border-style:solid; 15 boder-widht:0.5px; 16 } 17 </style> 18 </head> 19 <body> 20 <table> 21 <tr> 22 <td>ファイル名</td> 23 <td>バージョン</td> 24 <td>更新日時</td> 25 </tr> 26 <?php 27 //PDOオブジェクトの生成 28 $serverName = 'TEST_SERVER'; 29 $database = 'TEST'; 30 $uid = 'sa'; 31 $pwd = 'Admin'; 32 $conn = new PDO( "sqlsrv:server=$serverName;Database = $database", $uid, $pwd); 33 34 $sql = 'SELECT FILE_NM,VERSION,UPDATE_DT FROM TEST WHERE KUBUN = 1'; 35 36 foreach ($conn->query($sql) as $row) 37 { 38 print("<tr><td>".$row['FILE_NM']."</td>"); 39 print("<td>".$row['VERSION']."</td>"); 40 print("<td>".$row["UPDATE_DT"]."</td></tr>"); 41 } 42 43 $stmt = $conn->query($sql); 44 $img = $stmt->fetchObject(); 45 46 echo $img->contents; 47 48 $conn = null; 49 ?> 50 </body> 51</html> 52

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/07/31 06:11

自身で作ってみたコードを提示してください。検索して何も出てこないとは思えませんし・・
m.ts10806

2018/07/31 06:13

「上手くいかない」についても実際に起きている現象を記載してください。
manda

2018/07/31 09:27

mts10806 さん。遅くなりましたが、内容を修正しました。よろしくお願いいたします。
hope_mucci

2018/08/03 12:33

これを実行した結果がどのような表示になるかも提示しましょう。期待した結果とどう違うかを示すのは質問者の義務です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問