3
我是新来的PHP,我对你有疑问。 现在,我创建一个PHP脚本,我想用这个:PHP I/O内存流在文档开头创建空行
$file = fopen('php://memory','w');
然后,我用fputcsv,我补充几个阵列来填补这个文件。 在最后一部分,我说我想使downloadeble链接
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);}
当我的浏览器下载该文件,当我打开它,一切都很好,但在文件开头,有一条空行,我不明白它为什么会发生,我怎样才能删除这条线。
感谢您的描述。
马立克
在php标签之前或之后是否有任何空格/空行? () – SamyQc
不,我使用CodeIgniter框架,并且此代码被写入控制器中。未找到空行/空格。当我打开创建的文档时,第一行为空白,其他行填充。 我忘了提及..只有当我使用路径“php:// memory”或输出时,所有这些happend ... 当我写道如“C:/路径/到/文件夹”一切都很好,没有空白行被创建......只有“php:// memory”在开头创建空行 – Marek
尝试添加ob_end_clean();就在你的fpassthru($文件)之前; – SamyQc