- ベストアンサー
phpのプログラムエラーの対処方法
- php初心者がexcelファイルをダウンロードするプログラムでエラーが出ています。どのように修正すればよいかアドバイスをお願いします。
- 表示されたエラーは「Cannot modify header information」というものです。ダウンロードするファイル名が正しく指定されていない可能性があります。
- また、プログラムの先頭に出力がある場合にもエラーが発生することがあります。プログラムの先頭以外に出力がないか確認してください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<?php ~ ?>の前に何か書いた時点でheader関数は使えなくなります。 download.phpはファイルダウンロードのためのPHPですよね? <?php ~ ?>以外の部分は不要です。
その他の回答 (1)
- Picosoft
- ベストアンサー率70% (274/391)
<?php ~ ?>の前に何か出力していませんか? 1文字でも出力してしまった後はheader関数は使えません。 http://php.net/manual/ja/function.header.php
補足
すみません。<?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>
お礼
なるほど、そういうことだったのですね。 大変勉強になりました。 ありがとうございました。