• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpのプログラムエラー)

phpのプログラムエラーの対処方法

このQ&Aのポイント
  • php初心者がexcelファイルをダウンロードするプログラムでエラーが出ています。どのように修正すればよいかアドバイスをお願いします。
  • 表示されたエラーは「Cannot modify header information」というものです。ダウンロードするファイル名が正しく指定されていない可能性があります。
  • また、プログラムの先頭に出力がある場合にもエラーが発生することがあります。プログラムの先頭以外に出力がないか確認してください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.2

<?php ~ ?>の前に何か書いた時点でheader関数は使えなくなります。 download.phpはファイルダウンロードのためのPHPですよね? <?php ~ ?>以外の部分は不要です。

puyopa
質問者

お礼

なるほど、そういうことだったのですね。 大変勉強になりました。 ありがとうございました。

その他の回答 (1)

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1

<?php ~ ?>の前に何か出力していませんか? 1文字でも出力してしまった後はheader関数は使えません。 http://php.net/manual/ja/function.header.php

puyopa
質問者

補足

すみません。<?php ~ ?>の前の記述を載せさせていただきました。 どこを修正すればよいか、おしえていただけないでしょうか。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>依頼書ダウンロード</title> </head> <body> <?php $tmp_file = "依頼書ダミー.xls"; $j_file = "依頼書.xls"; $j_file = mb_convert_encoding($j_file, "SJIS", "EUC"); // ヘッダ header("Content-Type: application/octet-stream"); // ダイアログボックスに表示するファイル名 header("Content-Disposition: attachment; filename=$j_file"); // 対象ファイルを出力する。 readfile($tmp_file); exit; ?> </body> </html>

関連するQ&A