※ ChatGPTを利用し、要約された質問です(原文:CSVファイルのダウンロード)
CSVファイルのダウンロード
このQ&Aのポイント
DBのデータをCSVファイルに書き出し、ダウンロードボタン押下でファイルを保存する方法について
現在HTMLでダウンロードボタンを押下すると、download.phpが呼び出され指定のディレクトリにtest.csvファイルがダウンロードされる
ディレクトリ指定なしの場合は空のtest.csvファイルがダウンロードされるが、/test/test.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のファイルをダウンロードすることです。
色々なサイトで探してみて試しているのですが
初心者なもので、行き詰まってしまいました。
申し訳ありませんが
ご教授よろしくお願いします。
お礼
返事遅くなりました。 Dpopさん、回答ありがとう御座います。 header("Location: $filename"); で試してみましたが、ブラウザにCSVの内容が 表示されるようになってしまいました。 ブラウザに表示されずに、ダウンロードがしたいのです。 OSとかの関連でヘッダ情報がシステムによって 違うかったりすると過去ログで書いてありましたので いろいろと試してみたんですけど、 それも駄目だったので、どうしたものか・・・。