從數據庫中使用以下代碼用戶下載信息(採用csv格式)。但是,雖然獲得輸出大量的行是空白的,即在我的csv會有兩行。但是,在第一行2個空白行之後獲得csv將被打印。PHP頭文件,生成輸出時csv可下載錯誤(未知的新行字符添加輸出),zend
public generatecsvAction()
{
$answermodel=new Model_DbTable_Answers();
header("Content-type: application/octet-stream");
//header('Content-Type: text/csv; charset=utf-8'); // tried this too but still same output
header("Content-Disposition: attachment; filename=exportevent.csv");
header("Pragma: no-cache");
header("Expires: 0");
echo "First_Name,Last_Name,Roll_No1,User_name,col1,col2,col3..... \n"; // checked without this \n
foreach($testarray as $i)
{
$ans = $answermodel->getanswers1($a,$i);
if(count($ans)==10) // if user answered all the qustions ,
{
//echo "1,";
foreach($ans as $value)
{
$res=$answermsamodel->findansweroption($value);
$res=$res.",";
$s=$s.$res;
}
echo $s;
break;
}
}
}
爲了Zend的最佳實踐,所有的輸出應該從視圖而不是控制器完成。您的控制器中的輸出將顯示在任何視圖內容之後,其中可能包含空格或其他內容等。 – drew010
您確實不應該在控制器中使用頭函數,您應該使用響應對象或設置上下文。 – prodigitalson