1

我在 PyroCMS 中为 CodeIgniter 使用 Excel CSV 帮助程序,它工作正常,除了它将页面的 html 源附加到文件的末尾。

这里应该是最后一行,然后是页面 html 的开头;

18,10629,"2010-03-06 15:25:14","2010-03-06 15:43:01",905,6.4,53.7,9410,Server01,"2010-03-06 15:43:46",25.5
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <!-- Meta data -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

就这样一直持续到页面的 html 结束。

这是我在控制器中对它的调用;

if(isset($_POST['csv'])){
$unlmited_result_array = $this->db->get()->result_array();
$top_row[0] = array_keys($unlmited_result_array[0]);
$toto = array_merge($top_row, $unlmited_result_array);
array_to_csv($toto, 'toto.csv');
}

我正在使用以下表格来调用它;

<?php
echo form_open('cip')
. form_hidden('Trucknumber', $_POST['Trucknumber'])
. form_hidden('VechicleRegistration', $_POST['VechicleRegistration'])
. form_hidden('from-date', $_POST['from-date'])
. form_hidden('to-date', $_POST['to-date'])
. form_submit('csv', $this->lang->line('cip:CSV'))
. form_close();
?>
4

1 回答 1

3

在控制器中,显示 array_to_csv() 后,添加一个返回。它将阻止视图被加载。

另一种选择:使用控制器方法显示表单,使用另一种方法显示 CSV。

于 2012-08-29T17:44:38.167 回答