1
は、私は次のコード行を持っている:このコードは、Excelファイルが作成され、ブラウザのダウンロードディレクトリに保存されます(クラスの外で)PHPファイルから実行されるF3クラスに移動すると、php://出力への書き込みが失敗しますか?
$objPHPExcel = new PHPExcel();
..ADDITIONAL CODE..
// Redirect output to a client.s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="powers-id_report.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
。
私は、それ自身のクラスへのコードのすべての移動:
class ReportController extends BaseController {
function generate() {
$objPHPExcel = new PHPExcel();
..ADDITIONAL CODE..
// Redirect output to a client.s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="powers-id_report.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
$this->fw->reroute('/');
}
}
をそして、それは失敗します。私は、このクラスにリクエストをリダイレクトするためにFat Free PHPを使用しています。私はブレークポイントを使用して、これまでと同じコードをすべて実行していますが、ファイルが出力されていないことを確認しました。 $objWriter->save('php://output');
はtrue
を返しています。これはファイルを正常に保存したことを意味します。私はまた、リルートを削除しようとしました。私のエラーログもすべて空です。
エラーログが空の場合、エラーを報告しないようにPHPを設定している可能性があります。 – RiggsFolly
[エラー報告](http://stackoverflow.com/questions/845021/how-to-get-useful-あなたのファイルの先頭にある の_while testing_に、あなたの開かれているPHPタグの直後に例えば '<?php error_reporting(E_ALL);というエラーメッセージのPHP/845025#845025があります。 ini_set( 'display_errors'、1); '何かが得られるかどうかを調べる。 – RiggsFolly
また '$ objWriter'がインスタンス化されています。スコープ内にあるので、コードをクラスメソッドに移動しますか? – RiggsFolly