• 締切済み

CSV形式にしてダウンロードするには?

私はperlとMySQLを使ってインターネットサイトを作っている者です。 プレゼントの申込者をDBに格納しています。 それを何とかcsv形式でインターネットからダウンロードするような仕組みを考えているのですが、思い付きません。 どうかサンプルソースなどをご存知の方は教えて頂けないでしょうか? またその他にエクセルなど、他のファイルだったら簡単だよという情報もお待ちしております。 宜しくお願いします。

  • aeic
  • お礼率10% (60/582)

みんなの回答

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

CGIのことは知っていそうですね。では、話は簡単です。 HTTPヘッダにファイルをダウンロードするような MIME タイプを指定すればよいだけです。 print "Content-type:application/octet-stream\n\n"  …以下、CSV の出力を

関連するQ&A

  • csv形式のファイルをダウンロードさせたいのですが。

    はじめまして。MySQLとJSPを用いて、サイトページを構築する勉強をしているものです。まだ初心者ですが、行き詰まったので、是非教えていただきたいです。 現在、データベースに登録されているテーブルをcsv形式のファイルとしてダウンロードできるような仕組を考えているのですが、いい方法が思い付きません。そのページでは毎回選択されたテーブルを表示させているのですが、そこにそのテーブルのcsvファイルをダウンロードできるようにしたいのです。 select * into outfile ~を使用して、csv形式を作成したものをHTMLタグを使用してダウンロードするといった方法では何が足りないでしょうか?? ちなみにこれでは、select * into outfileで一度指定したファイルを作成してしまえば、既に存在するファイルとして新たに書き込めなくなるんではないかと既に困っています。 是非、教えていただきたいと思っています。よろしくお願いします。

    • ベストアンサー
    • MySQL
  • CSV形式でダウンロードできるデータ

    CSV形式でダウンロードできるデータ 全国の郵便番号や電話番号をCSV形式でダウンロードできることを知り どんなデータがダウンロードできるのか興味があります。 この2つの他にもCSV形式などでダウンロードできるデータはないでしょうか? もしご存知でしたら教えて頂けないでしょうか?

  • DBからのCSVファイルダウンロード

    MySQLに溜めたデータをCSV形式でダウンロードしたいと思っていますが、ダウンロードしたファイルが文字化けして困っています。 PHP、DBともにEUCで作成しているのですが、プログラムの中に文字コードに関する記述が必要になるとは思うのですが、何を追加すればいいのか教えていただけますでしょうか?

    • ベストアンサー
    • PHP
  • CSVでダウンロードする

    環境:WinXP,PHP5,MySQL5,Apache2 特定のファイルそのもの(例:ABC.txt)をダウンロードするPHPは書けるのですが、あるファイル(MySQL)があり、これを抽出条件をかけて並び順を変え、ファイル形式をCSVでダウンロードする部分ができません。 1.SQL文を発行する--この時CSV形式になるのか、わかりません。 2.ファイルを作成する(サーバに保存) 3.そのファイルをダウンロードする という手順になると思います。 参考になるサイト、書籍、アドバイスいただけると幸いです。 また、サイトで公開するので上記2の「2.ファイルを作成する」部分が多数の方が一定時間内にダウンロードした場合も心配です。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • CSVのダウンロードでエラーメッセージ

    以下のプログラムで、データベースの内容をCSV出力しようとしますが、IE6.0SP2上では、「Internet Explorerでは、接続先サイト名 - XXX.phpをダウンロードできません。このインターネットのサイトを開くことができませんでした。要求されたサイトが使用できないか、見つけることができません。」と表示されます。 対策方法教えてください。 ----------------------------- header("Pragma: cache;"); header("Content-Type: application/x-csv"); header("Content-Disposition: inline; filename=output.csv"); $db=mysql_connect("localhost","***","***"); mysql_select_db("test",$db); $rs=mysql_query("SELECT * FROM master",$db); ------------------------------------------------ ちなみに、以下でも同じエラーです ------------------------------------- header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=output.csv"); ----------------------------------------

    • 締切済み
    • PHP
  • CSVファイルをCGIでダウンロード

    Perlを使ってCGIを書いています。 申し込みフォームを送信すると、CSVファイルに書き込むのとメールで送信するというCGIを作りました。 そこで、その作ったCSVファイルをFTPソフトを使うのではなく、ブラウザ上でCGIを使ってダウンロードしたいのですが、どうしたらよいのでしょう? 環境は OS:Linux、PerlのバージョンはPerl5です。

    • ベストアンサー
    • CGI
  • MySQL5のデータを、SQL文を使いcsv形式でダウンロードさせると文字化けします

    環境:Apache2&PHP5&MySQL5 MySQL5のデータを、SQL文を使いcsv形式でダウンロードさせると文字化けします。 -- <?php header("Content-Type: application/octet-stream"); ?> <?php header("Content-Disposition: attachment; filename=output.csv"); ?> <?php $srv = "localhost"; // サーバー名 $id = "root"; // ユーザーID $passwd = "******"; // パスワード $dbn = "sample"; // データベース名 $sql = "SELECT * FROM result"; // SQL文 $db=mysql_connect($srv,$id,$passwd); mysql_select_db($dbn,$db); $rs=mysql_query($sql,$db); for($i=0; $i<mysql_num_fields($rs); $i++){ print(mb_convert_encoding(mysql_field_name($rs,$i),"SJIS","EUC-JP").","); } print("\n"); for($j=0 ;$j<mysql_num_rows($rs); $j++) { for($k=0; $k<mysql_num_fields($rs); $k++) { $str=mysql_result($rs,$j,$k); print(mb_convert_encoding($str,"SJIS","EUC-JP").","); } print("\n"); } mysql_close($db); ---ダウンロードしたCSVは半角英数文字はそのまま出ますが、 日本語(全角)が、?に化けます。(下記の参照してください) 24 2 1 444 4444 2008/7/3 15 ? 1E+18 ??? ????? ?????? 25 2 1 444 kojiide 2008/7/3 30 ? 1E+18 ??? ????? ?????? 26 2 1 444 kojiide 2008/7/3 30 ? 1E+18 ??? ????? ?????? --- print(mb_convert_encoding($str,"SJIS","EUC-JP").","); でSJISになっていると思うのですが、どなたかアドバイスいただけると幸いです。

    • ベストアンサー
    • PHP
  • CSVデータをDBに移行するには

    Perlを使ってCSVデータをDBに移行して格納したい のですが、流れはCSVファイルを開いて、CSVファイルを連想配列に書き込んで、 DBを開いて、連想配列データをデータベースに書き込んで、DBを閉じるという 流れの考えでよろしいのでしょうか?

    • ベストアンサー
    • CGI
  • csv形式のデータを書き出すには?

    会員Noと累積購買金額と名前等がサーバー上にCSV形式のデータとしてあり それを毎回ダウンロードしてエクセルで見ているのですが HP上から会員番号だけ入力したら累積購買金額と名前を表示できるようにしたいと思っています。 このような仕組みはCGIだと思うのですが、詳しく知らないので フリー・シェアウエア問わず代用できるものがあれば教えていただけないでしょうか?  また簡単なプログラムで出来るのであれば御指導いただければ幸いです。

    • 締切済み
    • CGI
  • イーバンク銀行のCSV形式で...

    イーバンク銀行のCSV形式で入出金明細を見たいと思ったのですが、ダウンロードしてもメモ帳に書かれていて、ゴチャゴチャしていてよく分かりません。 エクセルで見れるようにはできないのでしょうか?