您好我正在使用laravel 4开发一个应用程序,当我尝试以csv格式下载我的报告时,它会在标题之前插入4个新的空行,我想摆脱那些空行。
这是我的代码
public function getDownloadCsv()
{
// Grab all the assets
$assettypes = Assettype::orderBy('id', 'ASC')->select('id', 'asset_type')->get();
$rows = array();
// Asset Type Id
$header = array(
Lang::get('admin/assetdetails/table.assetnum'),
Lang::get('admin/assetdetails/table.asset_name'),
);
$header = array_map('trim', $header);
$rows[] = implode($header,',');
// Create a row per asset
foreach ($assettypes as $assettype) {
$row = array();
$row[] = $assettype->id;
$row[] = $assettype->asset_type;
$rows[] = implode($row,',');
}
// spit out a csv
$csv = implode($rows,("\n"));
$response = Response::make($csv, 200);
$response->header('Content-Type', 'text/csv');
$response->header('Content-disposition', 'attachment;filename=Help_document_for_asset_import.csv');
return $response;
}
如果您需要任何进一步的细节,请告诉我。 请帮我实现这个目标....
答案 0 :(得分:1)
最后我解决了这个问题,感谢Adrenaxus有价值的评论,我所做的就是在关闭php标签后删除所有空行。请注意,你必须在应用程序的所有php文件中执行此操作。
在我的情况下,我检查了当前正在工作的文件并且无法替换其他php文件中的空行,但问题仍然存在,删除所有php文件中的空白区域就行了。
答案 1 :(得分:0)
我确实使用函数ob_clean()解决了这个问题,您可能还需要使用ob_start()或ob_end_clean(),具体取决于您的代码。