![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_16.png?e8efa67)
DBのデータをCSVファイルでダウンロードする機能を作成しています。
DBのデータをカンマ区切りで変数に格納するところまではできましたが、CSVでのダウンロード(ダウンロードダイアログ)ができません。
以下が実際の記述ですが、間違いを指摘いただけないでしょうか。
※$result 出力するデータ全てが,区切りで格納されている
<PHPファイル内>
$size = strlen($result);
$filename = csv_dl.csv;
//csvdll
header("Content-Disposition: inline; filename=\"".basename($filename)."\"");
header("Content-Length: ".$size);
header("Content-Type: application/octet-stream");
以上です。
リターンが遅くなるかもしれませんが、どうかよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
がると申します。
とりあえず端的に。> $filename = csv_dl.csv;
文字列はクオートしましょう。
$filename = 'csv_dl.csv';
が正しい書式です。
headerですが。RFCによるとMIME typeはtext/csvですので
> header("Content-Type: application/octet-stream");
ではなく
header("Content-Type: text/csv");
になります。
CSVの中身は$resultに入っている感じでしょうか?
だとすると、headerの後に最低限
print $result;
が必要かと思われます。
以上ざっくりとですが。
回答ありがとうございます。
>header("Content-Type: text/csv");
これが原因でした;
ありがとうございます!
>print $result;
は、こちらに書くときに消してしまっていたようで、実際のファイルには記述できていました。
CSVダウンロードとかでいろいろ検索していたのですが、そもそもheaderについて全然勉強していないというか、付け焼刃というか・・・
もっとしっかりと勉強しようと思います。
ありがとうございました!
No.1
- 回答日時:
見た感じでは問題点は無い様に思えます。
特定のブラウザのみお節介機能が動いているのかも知れません。
.csvではない拡張子にしたらダウンロードされるとか。
また、実際に出力されているHTTPヘッダを確認してみるのもいいんじゃないかな?と思います。
回答ありがとうございます。
お礼が遅くて申し訳ありません。
header("Content-Type: application/octet-stream");をheader("Content-Type: text/csv");に変更することでダウンロードが可能になりました!
別のプログラムを作ったときにheader("Content-Type: application/octet-stream");でcsvダウンロードしてたので思いもしませんでした;
>実際に出力されているHTTPヘッダを確認してみるのもいいんじゃないかな?と思います。
そうですね。
勉強のためにも一度1つづつ理解していこうと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- その他(プログラミング・Web制作) pythonのpandasのcsvの外部結合(outer_join)した際に列が想定とは異なる事象 1 2022/05/25 13:23
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- その他(プログラミング・Web制作) Sikulix2.0.5(Jython2.7.3)でcsvを読込WEB検索条件にpasteで文字化け 1 2023/03/31 11:02
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPで複数ファイルのダウン...
-
CSVファイルをダウンロードで文...
-
phpでzipファイルダウンロード...
-
phpでうまく画像がダウンロード...
-
csvダウンロードについて
-
CFileDialogの最初のディレクト...
-
VB6にてメールを送信する方法
-
onedrive にexcelファイルをア...
-
phpのheader("Location:#pos")...
-
バイナリファイルをブラウザに...
-
OpenGLで描いて画像ファイル出力
-
フォントの色を変えるには?
-
VB.NET 最下位のディレクトリ名...
-
リンク先を隠す方法はないでし...
-
PHPのif文でその処理を途中で抜...
-
FORMタグを使わずに、POSTする...
-
youtubeに音声のみのmp4ファイ...
-
mysql複数レコードをまとめて削...
-
受け取ったパラメータを次のphp...
-
phpの階層が変わると上手く読み...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
zip圧縮の種類について
-
PHPで複数ファイルのダウン...
-
phpでzipファイルダウンロード...
-
eclipseでコメントアウトができ...
-
PHPでCSVファイルの任意の行だ...
-
PHP 検索結果のCSVダウンロード
-
PDF ダウンロード
-
PHPでファイルのダウンロードす...
-
ファイル一覧を表示しその画面...
-
libxml2のインストール
-
PHPでファイルをダウンロードさ...
-
CSV出力時の”0”表示(電話番号...
-
ブラウザでExcelをダウンロード...
-
【PHP】ダウンロードサイト作成...
-
wgetの使い方
-
PHPでGoogle TTSからMP3ダウン...
-
PHPで複数ファイルをZIPで圧縮...
-
DelphiのURLDownloadToFile関数...
-
VB.NETのFTPダウンロードについて
-
ExcelとPHPについて・・・
おすすめ情報