我是php的新手,我对你有疑问。 现在,我正在创建一个我想要使用的PHP脚本:
$file = fopen('php://memory','w');
然后,我使用fputcsv添加几个数组来填充此文档。 在最后一部分,我说我想要下载链接
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="service.csv"');
我的方法如下:
public function exportToCsv($Id){
$file = fopen('php://memory','w');
$someDetails = $this->some_model->getSomeDetail($Id);
$details = array(
array("Subject", "Start Date", "Start Time", "End Date", "End Time", "Where"),
array("test subject","test date","test time","test end date","etc..."));
foreach ($details as $detail) {
fputcsv($file, $detail);
}
fseek($file,0);
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="file.csv"');
fpassthru($file);}
当我的浏览器下载这个文件时,当我打开它时,一切都很棒,但是在文件的开头,有一个空行,我不明白它为什么会发生,我怎么能删除这一行。
感谢您的描述。
马立克
答案 0 :(得分:2)
1)您应该检查PHP标签(<?php ?>
)
2)尝试在ob_end_clean();
之前添加fpassthru($file);
,这将清除缓冲区,并且您确定其中没有任何内容。