• ベストアンサー
  • すぐに回答を!

CSVファイルのダウンロード

  • 質問No.872296
  • 閲覧数1236
  • ありがとう数13
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 81% (115/141)

<環境>
PHP4.3.2
Windows2000
PostgreSQL
RedHat Linux

<求めていること>
DBのデータをCSVファイルに書き出し、
ダウンロードボタン押下で
ダイアログがアップしファイル保存ディレクトリ選択、保存。

<現在のソース>
サーバーにtest.csvファイル作成後、
現在HTMLでダウンロードボタン押下でdownload.phpを呼び出し

<input type=button value="ダウンロード" onClick="location.href='download.php'">

---------------- download.php -------------------

<?php

// 1.ディレクトリ指定
//$filename="/test/test.csv";
// 2.ディレクトリ指定なし
$filename = "test.csv";

header("Content-disposition: attachment; filename=$filename");
header("Content-type: application/octet-stream");

?>

---------------- download.php -------------------

現在、
1番のディレクトリ指定だと
downloadというファイルがダウンロードされるダイアログがアップし
ダウンロードされます。

2番のディレクトリ指定なしだと
もちろん空のtest.csvファイルがダウンロードされます。

実現したいのは/test/test.csvのファイルをダウンロードすることです。
色々なサイトで探してみて試しているのですが
初心者なもので、行き詰まってしまいました。
申し訳ありませんが
ご教授よろしくお願いします。

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

  • 回答No.1
  • ベストアンサー

ベストアンサー率 51% (279/544)

Location: ヘッダにリダイレクトするのはどうでしょうか?

要するに、CSVファイルをダウンロードさせれば良いのですよね?
以前、PerlでCSVファイルのダウンロードを行わせた時には、Location: ヘッダと言う、HTTP ヘッダの一つを使ってダウンロードさせました。

header("Location: $filename");

なんて感じで行けるんじゃ無いかと思います。
お礼コメント
bakenshibakenshi

お礼率 81% (115/141)

返事遅くなりました。
Dpopさん、回答ありがとう御座います。
header("Location: $filename");
で試してみましたが、ブラウザにCSVの内容が
表示されるようになってしまいました。
ブラウザに表示されずに、ダウンロードがしたいのです。
OSとかの関連でヘッダ情報がシステムによって
違うかったりすると過去ログで書いてありましたので
いろいろと試してみたんですけど、
それも駄目だったので、どうしたものか・・・。
投稿日時:2004/05/31 09:32
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

ピックアップ

ページ先頭へ