※ ChatGPTを利用し、要約された質問です(原文:サーバー上のファイルをブラウザからダウンロード)
サーバー上のファイルをブラウザからダウンロードできない問題について
このQ&Aのポイント
サーバ上のファイルをブラウザからダウンロードさせるためのコードを書いていますが、ダイアログボックスが表示されずに画面上にデータが表示されてしまいます。
さくらのスタンダードを使っているサーバーで、いろいろなサイトや書籍のコードを試しても解決しない問題に直面しています。
ダウンロード時にダイアログボックスが表示されず、データが画面上に表示されてしまう原因として何が考えられるでしょうか。
お世話になります。
サーバ上のファイルをブラウザからダウンロードさせるため、下記のようなコードを書いています。
// ダウンロードさせる元ファイル
$source = '/home/hogehogel/output.csv';
// 保存時のファイル名(デフォルト)
$filename = 'csv_output.csv';
// HTTPヘッダ送信
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=\"{$filename}\"");
// ファイルを読み込んで出力
readfile($source);
しかし、ダイアログボックスが表示されず、画面上にデータが表示されてしまいます。
いろいろなサイトや書籍等のコードを真似してもダメでした。
サーバはさくらのスタンダードを使っています。
原因として何が考えられるでしょうか。
よろしくお願いいたします。
お礼
BOMが原因でした。解決しました。 ありがとうございました。