PHPでCSVファイルを書き出すプログラムを書いています。

download.phpにて
header( ”Content-Type: text/tab-separated-values” );
header( ”Content-Disposition: attachement; filename=hoge.csv” );
とやって飛ばしたあとに、データを書き出しています。
download.phpへのリンクを右クリック>対象をファイルに保存 とする分にはいいのですが、左クリックをすると、IEの中でExcelが開いてしまいます。
excleに遷移するのを抑制する方法はないでしょうか。
リンクをボタンにしてJavaScriptをつかえばできそうな気もするのですが、どのように書けばいいのか分かりません。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:quintia No.1

回答回数562ベストアンサー獲得回数71

ポイント28pt

http://oshiete1.goo.ne.jp/kotaeru.php3?q=1172069

CSVファイルのダウンロードについて - 教えて!goo

左クリックで開いてしまうのが嫌なのであれば、content-typeをoctet-streamにしておく方がマシかと思います。

id:takeuchi_k

ありがとうございます。

2005/02/21 13:46:11
id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

ポイント28pt

attachement じゃなくて

attachment では?

id:takeuchi_k

ありゃ、ご指摘ありがとうございます。

2005/02/22 15:22:58
id:typista No.3

回答回数359ベストアンサー獲得回数7

ポイント28pt

http://php.eweb-design.com/0303_dl.php

データベースをCSV形式でダウンロード - PHP/データベース

上記URLは、DBの内容をCSVに書き出すものですが、要件に合いますでしょうか?

→ 上記サンプルを適宜修正し、リンクを貼れば可能?

右クリックせずに対象ファイルとして保存できるのかは、私も試していないので不明ですが、

サンプル2行目の

<?php header(”Content-Disposition: attachment; filename=output.csv”); ?>

に期待といったところでしょうか。

id:takeuchi_k

ありがとうございます。

2005/02/22 15:23:21
id:typista No.4

回答回数359ベストアンサー獲得回数7

ポイント28pt

http://okweb.jp/kotaeru.php3?q=1208394

検索結果をCSVにダウンロードする方法 | OKWave

やはりDBの内容をCSV保存する例ですが、

ANo.1の説明を見ると、ファイル保存できそうです。

id:takeuchi_k

ダウンロードはできるのですが、エクセルを開くのを抑制したいということで・・・

2005/02/22 15:24:26
id:izayoimizuki No.5

回答回数302ベストアンサー獲得回数0

ポイント28pt

http://www.microsoft.com/

Microsoft Corporation

URIはダミーです。

header(”Content-Type: text/plain”);

とすればExcelに遷移しません。

ただしIEが直接表示します。

ダウンロードさせたいだけであれば

quintia様のおっしゃるとおり

header(”Content-Type: application/octet-stream”);

が良いです。

id:takeuchi_k

ありがとうございます。

これでやってみます。

2005/02/22 15:24:53

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません