こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

<環境>
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のファイルをダウンロードすることです。
色々なサイトで探してみて試しているのですが
初心者なもので、行き詰まってしまいました。
申し訳ありませんが
ご教授よろしくお願いします。

投稿日時 - 2004-05-27 15:53:09

QNo.872296

すぐに回答ほしいです

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

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

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

header("Location: $filename");

なんて感じで行けるんじゃ無いかと思います。

投稿日時 - 2004-05-27 19:11:58

お礼

返事遅くなりました。
Dpopさん、回答ありがとう御座います。
header("Location: $filename");
で試してみましたが、ブラウザにCSVの内容が
表示されるようになってしまいました。
ブラウザに表示されずに、ダウンロードがしたいのです。
OSとかの関連でヘッダ情報がシステムによって
違うかったりすると過去ログで書いてありましたので
いろいろと試してみたんですけど、
それも駄目だったので、どうしたものか・・・。

投稿日時 - 2004-05-31 09:32:23

ANo.1

このQ&Aは役に立ちましたか?

12人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問