4

以下は、コードイグナイターでサーバー上のいくつかのファイルを強制的にダウンロードするために使用しているコードです。ダウンロードしたファイルが破損しているため、MS Excel で開くことができません。このコードに問題はありません。サーバーから ftp を使用してファイルをダウンロードして確認したところ、正常に開きました。どこが間違っていたのかわかりません。

$this->load->helper('download');
$path = base_url('reference/filename.xlsx');
$data = file_get_contents($path); // Read the file's contents
$name = 'filename.xlsx';
force_download($name, $data); 
4

4 に答える 4

2

データを取得する直前に、ob_clean() 関数を使用して出力バッファーをフラッシュします。

コードは次のようになります。

$this->load->helper('download');
$path = base_url('reference/filename.xlsx');

ob_clean();

$data = file_get_contents($path); // Read the file's contents
$name = 'filename.xlsx';
force_download($name, $data);
于 2016-09-19T04:01:13.043 に答える
0

HTML コンテンツが読み込まれる前にモデル内で force_download() を使用すると、Excel xlsx ファイルのダウンロードがうまく機能することがわかりました。ビューが読み込まれる前に、ナビゲーション モデル内で force_download を使用しています。

于 2014-04-04T11:26:24.053 に答える