2011-07-01 29 views
1

私は.csvファイルにデータをエクスポートするPHPコードを書いています。輸出された.csvファイルは、自分のPC上でダウンロードできます。しかし、クライアントのサーバーでは、.csvファイルはダウンロードできませんでした。読み取り可能な形式でした(ブラウザは.htmlファイルのようなファイルの内容を読み取り、印刷できます)。CSVファイル - ブラウザでダウンロードする代わりに開く

.csvファイルにアクセスする前にheader()を使用しました。

サーバー側の問題ですか、コードを変更する必要がありますか?

+2

コードを変更する必要があるかどうかを教えてください。あなたのコードを共有してください。 – kapa

答えて

9

これを追加そしてそれをどうするか。

header ('Content-Type: text/csv'); 
header ('Content-Disposition: attachment; filename="put_your_preferred_file_name_here.csv"'); 
4

サーバーから送信されたヘッダーを変更して、表示する代わりにダウンロードする必要があることをブラウザに知らせる必要があります。

あなたが期待するファイルの種類をクライアントに伝えるためにヘッダを送信する必要がより標準的なタイプのためにエクセル

header("Content-type: application/vnd.ms-excel") 

またはこれにより、ファイルが開いているようにする

header("Content-type: text/csv") 
+0

Pompom6784:すでにヘッダーのコンテンツのコメントを付けました。 –

+0

どのブラウザで問題が発生していますか? GordonMがそれを示唆したように、Content-Disposition:attachmentも役に立ちます。 –

+0

すべての主要なブラウザ(FF3 +、IE7 +、Safari) –

1

大変好きなものがthis solutionです。場合URLは、(これ以上)に到達できません。

が同じフォルダに.htaccessファイルを入れて、それがすべてだ

AddType application/octet-stream .csv 

に次の行を追加します。 (オリジナルのリンクにはさらにいくつかのファイル拡張子がありますが、これはOP用のものです)。

関連する問題